EMU8086 добавляет значение в неправильный регистр - PullRequest
0 голосов
/ 25 ноября 2018
var1 db 1h, 2h
var2 db 2h
MOV AL, [var1 + 1]
MOV [var2], AL

Если я эмулирую этот код, я вижу, что EMU8086 устанавливает AH (не AL) часть регистра AX.Почему?

1 Ответ

0 голосов
/ 25 ноября 2018

EMU8086 начинает обрабатываться в начале (var1) и интерпретирует байты как инструкцию и следующие байты соответственно.Итак, код выглядит для EMU8086 как

ADD [BP+SI], AX
ADD AH, [BX + SI] + 00001
MOV [00002], AL

Как видите, этот код меняет AH, но не AL.Вкратце: EMU8086 требует правильной программы для DOS.

...