关于寄存器高、低位数值计算的问题
来源:百度知道 编辑:UC知道 时间:2024/05/24 15:04:51
MOV AX,001AH
MOV BX,0026H
ADD AL,BL
ADD AH,BL
这道题是王爽《汇编语言》例2.3中的一段,
我认为答案应该是AX=00H
而答案是AX=2640H
请问这是为什么?
谢谢
写错了,我认为的答案应该是
AX=0040H
MOV BX,0026H
ADD AL,BL
ADD AH,BL
这道题是王爽《汇编语言》例2.3中的一段,
我认为答案应该是AX=00H
而答案是AX=2640H
请问这是为什么?
谢谢
写错了,我认为的答案应该是
AX=0040H
00000000 00011010
00000000 00100110
ADD AL,BL ;AL=01000000
ADD AH,BL ;AH=00100110
结果
AX=0010011001000000=2640H
注意:ADD AH,BL时,AH被改变了
是2640H,第一条ADD指令后BL数值不变的
AH=00H=0000 0000 AL=1A=0001 1010
BH=00H=0000 0000 BL=26=0010 0110
ADD AL,BL -> 0001 1010
0010 0110
---------------
0100 0000 -> 40H ->AL
ADD AH,BL -> 0000 0000
0010 0110
---------------
0010 0110 -> 26H ->AH
AX=AH&AL=2640H
因为ADD是无进位加法