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.

Était-ce utile?

La 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.

Autres conseils

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...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top