var1 db 1h, 2h
var2 db 2h
MOV AL, [var1 + 1]
MOV [var2], AL
如果我仿真此代码,则会看到EMU8086设置了寄存器AX的AH(不是AL)部分。为什么?
答案 0 :(得分:0)
EMU8086从开头(var1
)开始处理,并将字节解释为指令,并随后将其解释为后续字节。因此,代码查找EMU8086就像
ADD [BP+SI], AX
ADD AH, [BX + SI] + 00001
MOV [00002], AL
如您所见,此代码更改了AH
,但没有更改AL
。简而言之:EMU8086需要正确的DOS程序。