关于一个小汇编程序

来源:百度知道 编辑:UC知道 时间:2024/05/04 17:08:57
假设(AL)=28H,(BL)=68H,依此执行“ADD AL,BL”和“DAA”后,(AL)=?
怎么答案会是96H?不是90H吗?
那么就是说,遇到这种题目的话,就不用理会“ADD AL,BL”,直接将(AL)跟(BL)看作是十进制数进行相加就是了?

恩 是96H

DAA ;AL←将AL中的加和调整为压缩BCD码
该指令跟在以AL为目的操作数的ADD或ADC指令之后,对AL的二进制结果进行十进制调整,并在AL得到十进制结果。DAA指令对OF标志无定义,按结果影响所有其他标志,其中CF反映压缩BCD码相加的进位状态。

daa 按照十进制运算!!

ADD针对16进制加法所以28H+68H=90H
DAA针对10进制加法所以28D+68D=96D

上面两位都说及是啊.

路过!很复杂啊!