关于寄存器高、低位数值计算的问题

来源:百度知道 编辑: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

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是无进位加法