2014-01-23 205 views
1

我開始學習Assembly(ASM x86)。我正在使用模擬器emu8086。我已經寫了下面的指令:錯誤'Mov錯誤參數'

mov eax,3 

當我試圖仿效指令,emu8086寫道:wrong parameters MOV eax,3. probably it's an undefined var: eax

此外,當我取代eaxaxahal - 它的工作只是精細。

這是爲什麼?我應該怎麼做才能解決這個問題? 謝謝。

回答

5

emu8086模擬原來的8086是一組16位的處理器,因此不存在32位寄存器(EAX,EBX等)

有關寄存器佈局提供更多的信息,請參閱Wikipedia page on the Intel 8086

+1

謝謝。你知道任何其他適合使用32位寄存器的仿真器嗎? – Programmer

+0

@Programmer嘗試NASM彙編程序 – meda

+0

我不知道任何與emu8086一樣具有交互性。但是,您可以使用仿真器,如[bochs](http://bochs.sourceforge.net/),並使用像[NASM](http://www.nasm.us/)這樣的彙編器來獲取32位(和64位位)仿真。 – chbaker0

0
db 66h 
mov ax, 3 
db 0, 0 

應該在不支持它的彙編程序中模仿mov eax, 3(以16位代碼)。更容易使用的彙編程序...

+0

這當然不會在8086或8088處理器上運行,並會在emu8086中拋出未知操作碼。 –