emu8086 emulates the original 8086. It's a 16 bit processor, so there are no 32 bit registers (eax, ebx, etc.)
For a bit more information on the register layout, check out the Wikipedia page on the Intel 8086.
Question
I'm starting to learn Assembly (ASM x86). I'm using the emulator emu8086. I've written the following instruction:
mov eax,3
When I'm trying to emulate the instruction, emu8086 writes: wrong parameters MOV eax,3. probably it's an undefined var: eax
In addition, when I replaced eax
with ax
, ah
or al
- It worked just fine.
Why is it like that? What should I do in order to fix this problem? Thanks.
Solution
emu8086 emulates the original 8086. It's a 16 bit processor, so there are no 32 bit registers (eax, ebx, etc.)
For a bit more information on the register layout, check out the Wikipedia page on the Intel 8086.
OTHER TIPS
db 66h
mov ax, 3
db 0, 0
Should emulate mov eax, 3
(in 16-bit code) in an assembler that doesn't support it. Easier to use an assembler that does...