как присвоить значение dw регистра топора переменной db? - PullRequest
0 голосов
/ 07 июня 2018

Я добавляю значения массива в AL, а затем делаю команду AAM, чтобы получить десятичную сумму.Регистр ax показывает AH=03 AL=04, что составляет 34.

Мне нужно присвоить значение 34 в переменной sum.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 10 июня 2018
...           ; AL=34
aam           ; -> AH=3 AL=4

Начиная со значения 34 в AL, инструкция aam даст вам AH=3 и AL=4.

. Чтобы восстановить начальное значение, вы можете использоватьaad инструкция.Это умножит AH на 10, затем добавит AL.

AAD

AL <- AH * 10 + AL <br>AH <- 0 </p>

В дальнейшем вы можете переместиться на AL к вашей переменной sum в байтах.

...           ; AL=34
aam           ; -> AH=3 AL=4
aad           ; -> AX=34
mov [sum], al
...
sum db 0

Короче (потому что нет смысла делать aam и aad в строке):

...           ; AL=34
mov [sum], al
...
sum db 0

как присвоить значение dw регистра топора переменной db?

Если переменная назначения является байтовойс размером, вы никогда не сможете присвоить ему количество слов размером!
Желание присвоить AX переменной db имеет смысл, только если AX содержит значение меньше 256, в этом случае вы простоприсвойте AL (младшая половина AX) переменной db.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...