请教汇编语言小程序?

来源:百度知道 编辑:UC知道 时间:2024/05/24 13:15:31
请就以下的汇编小程序回答几个问题?
MOV AX,1234H
MOV BX,5678H
ADD AL,BL
DAA
MOV CL,AL
MOV AL,AH
ADC AL,BH
DAA

问题:1)AL 和BL 寄存器的内容分别为?
3)ADD AL,BL是什么意思?DAA是什么意思?
2)请解释此程序?
ADD AL,BL是什么意思?我指的是:AL BL 都是寄存器,在此语句之前并没有赋值,他们两个想加是什么意思?

第一问改为 AL 和CL 寄存器的内容分别为?

AL=34H BL=78H
ADD AL ,BL
是指AL+BL->AL(和存在AL)
以后AL=0ACH

DAA是转换压缩BCD码的意思.
解释一下:
BCD码是把十六进制当十进制用
如34H 是十进制52 用BCD码表示是0101 0010,前四位表示五,后四位表示二
这样可能回产生进位,
ADC AL,BH
是AL+BH+CF(进位标志)->AL

AL是AX的低8位所以刚开始是34H经过AL+BL->AL变成0ACH最后再变成67H
CL是0ACH
ADD是相加的意思把BL与AL相加并存入AL
DAA表示化十进制整数

AL 34H
BL 78H
ADD AL,BL AL和BL相加
DAA 好像是移位,其他的都忘了

DAA是十进制调整指令