我将数组的值添加到AL
然后我执行AAM
命令以获取总和的小数。注册ax
会显示AH=03 AL=04
,即34。
我需要将值34分配给变量sum。
任何帮助都将不胜感激。
答案 0 :(得分:1)
... ; AL=34
aam ; -> AH=3 AL=4
从AL
中的值34开始,aam
指令会为您提供AH=3
和AL=4
。
要恢复您开始使用的值,可以使用aad
指令。这一个将AH
乘以10,然后添加AL
。
AAD
AL< -AH * 10 + AL
AH < - 0
此后,您可以将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
如何将ax寄存器的dw值分配给db变量?
如果您的目标变量是字节大小的,则永远不能为其分配字大小的数量!
将AX
分配给db
变量的愿望只有在AX
保存小于256的值时才有意义,在这种情况下,您只需指定AL
(低一半) AX
变量db
。{/ p>