我開始學習Assembly(ASM x86)。我正在使用模擬器emu8086。我已經寫了下面的指令:錯誤'Mov錯誤參數'
mov eax,3
當我試圖仿效指令,emu8086寫道:wrong parameters MOV eax,3. probably it's an undefined var: eax
此外,當我取代eax
與ax
,ah
或al
- 它的工作只是精細。
這是爲什麼?我應該怎麼做才能解決這個問題? 謝謝。
我開始學習Assembly(ASM x86)。我正在使用模擬器emu8086。我已經寫了下面的指令:錯誤'Mov錯誤參數'
mov eax,3
當我試圖仿效指令,emu8086寫道:wrong parameters MOV eax,3. probably it's an undefined var: eax
此外,當我取代eax
與ax
,ah
或al
- 它的工作只是精細。
這是爲什麼?我應該怎麼做才能解決這個問題? 謝謝。
emu8086模擬原來的8086是一組16位的處理器,因此不存在32位寄存器(EAX,EBX等)
有關寄存器佈局提供更多的信息,請參閱Wikipedia page on the Intel 8086。
db 66h
mov ax, 3
db 0, 0
應該在不支持它的彙編程序中模仿mov eax, 3
(以16位代碼)。更容易使用的彙編程序...
這當然不會在8086或8088處理器上運行,並會在emu8086中拋出未知操作碼。 –
謝謝。你知道任何其他適合使用32位寄存器的仿真器嗎? – Programmer
@Programmer嘗試NASM彙編程序 – meda
我不知道任何與emu8086一樣具有交互性。但是,您可以使用仿真器,如[bochs](http://bochs.sourceforge.net/),並使用像[NASM](http://www.nasm.us/)這樣的彙編器來獲取32位(和64位位)仿真。 – chbaker0