当前位置:编程学习 > 汇编语言 >>

汇编指令AAA的疑问

MOV AL,29H MOV BL,78H ADD AL,BL AAA 相加之后的结果为A1H,调整之后为什么变成了0107H,我对AAA指令不太了解,对于单个的加法我知道怎么操作,比如9H加8H,它们相加之后进行调整,我知道调整的方法,求解释29H加78H这种形式的调整方法。谢谢了,我都纠结一天了!~~~~(>_<)~~~~
答案:aaa的调整规则为看al,和af的值,如果
al中的低四位大于9或者af=1,那么就将al加6,ah加1,且将af,cf设置为1,否则将af,cf设置为-。然后不管al和af结果为什么都将al的高四位清零。
你的题,因为add相加后结果为a1h,af=1,所以要将al加6,ah加1,且将af,cf设置为1,使得ah=ah+1,al=a7h,af=cf=1,然后再将al高四位清零,所以最后结果是ah=ah+1,al=07h,af=cf=1

上一个:学习单片机是C语言好还是汇编啊?
下一个:汇编程序

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,