2013-08-17 1 views
0

64 비트 우분투가 있지만 인텔 8086 Windows 용 ASM 코드를 코딩해야합니다 ... 당신이 제안 할 수있는 소프트웨어 또는 IDE 또는 에뮬레이터가 있습니까?x64 Linux에서 x86 Windows 용 Assambly를 코딩 할 수 있습니까?

내가 프로세서의 각 종류에 대해 서로 다른 지시 사항이 있음을 알고 ...

+1

나는 8086에서 실행할 수있는 Microsoft Windows의 마지막 버전이 1990 년 Windows 3.0이었다고 생각한다. 확실히 3.1에서는 적어도 80286을 실행해야했다. (편집 : 예. [Wikipedia 동의]. (https://en.wikipedia.org/wiki/Windows_3.1#Improvements_over_Windows_3.0)) –

+1

흠, 나는 리눅스 내부에서 Windows 응용 프로그램을 개발하는 방법에 대해 답변했지만, 당신은 8086 코드를 작성하고 싶습니까? 그것은 마이클이 이미 쓴 것처럼 고대의 프로세서입니다. – johnfound

+0

BTW, 내가 알 수 있듯이 질문 제목에 x86 Windows가 포함되어 있으므로 질문 본문의 8086이 실수 일 수 있습니다. – johnfound

답변

0

특정 어셈블리 구문은 컴파일러 다릅니다. 사용하려는 컴파일러에 대해 조사해야합니다. 나는 리눅스에서이 목적을 위해 특정 IDE/에뮬레이터에 대해 알지 못하지만 원하는 편집기 (vi, emacs, eclipse, nano, textedit 등)를 사용하여 코드가 포함 된 텍스트 문서를 작성할 수 있습니다. 그런 다음 적절한 컴파일러를 사용하여이를 Windows 컴퓨터로 전송할 수 있습니다. 그러나 편집 시스템에 대한 정기적 인 액세스가 부족한 경우가 아니라면 컴파일 할 환경에서 작업하는 것이 더 중요 할 수 있습니다.

+0

WINE이 도움이 될 수 있습니다. 사실, 명령은 동일합니다 (x86 x86-64 제품군을 가정 할 때, 문자 그대로 8086이 아님).하지만 우리가해야 할 일은 OS에 따라 다릅니다. Nasm, Yasm, Fasm, Jwasm, 그리고 MinGW Gas와 ld는 모두 "교차 조립"을하게됩니다. 당신은 확실히 리눅스 컴퓨터에서 Windows 코드를 생성 할 수 있습니다. 보석을 테스트하는 것이 문제 일 수 있습니다. –

0

원하는 기계에 코드를 작성할 수 있습니다. 테스트는 완전히 다른 이야기입니다. 귀하의 경우에는 적어도 Linux 컴퓨터에서 Windows 바이너리를 빌드하기 위해 교차 어셈블러를 얻고, 아마 프로그램을 테스트하기 위해 일종의 Windows를 실행하는 VM을 원할 것입니다. VM을 설정하려는 경우 네이티브 어셈블러도 사용할 수 있습니다.

1

처음에는 적절한 컴파일러를 사용하여 32 비트 Windows PE 실행 파일로 프로그램을 컴파일 할 수 있습니다. 다른 어셈블러에 대해서는 모르지만, 예를 들어, FASM은 쉽게 할 수 있습니다.

큰 문제는 테스트입니다. 즉, 컴파일 된 프로그램을 실행하고 디버깅하는 방법입니다.

리눅스에서 내가 즉, 컴파일 같은 시간에 윈도우와 리눅스 응용 프로그램을 실행하고 디버그 할 수 있습니다 아는 유일한 IDE는 Fresh IDE (이 FASM 컴파일러를 기반으로)입니다. 신선한 IDE는 Windows 응용 프로그램이므로 사용하려면 WINE이 설치되어 있어야하며 Linux에서 Windows 응용 프로그램을 실행하려면 Wine을 사용해야합니다.

내가 아는 한, WINE은 64 비트 Linux에서 실행할 수 있지만 사용하지는 않으므로이를 설치하기위한 가이드를 제공 할 수 없습니다.

WINE을 설치 한 후 setup guide에 설명 된대로 신선한 IDE를 설치하고 구성하십시오.

참고 : 신선한 IDE는 제 제품이고 조금 편향되어있을 수 있습니다. 그러나이 답변에 설명 된 기능 (및 더 많은 유용한 기능들)을 가지고 있습니다. :)

+1

Wine은 64 비트 Linux에서 완벽하게 실행됩니다. 그리고 나는 그것을 항상 내 Windows 코드를 테스트하는 데 사용합니다. –

관련 문제