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.

Was it helpful?

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top