加法的非压缩BCD码调整指令AAA

qepjatdwj 2008-12-23 09:23:26
/*加法的非压缩BCD码调整指令AAA
AAA ;AL←将AL中的加和调整为非压缩BCD码,AH←AH+调整产生的进位
该指令跟在以AL为目的操作数的ADD或ADC指令之后,对AL进行非压缩BCD码调整;如果调整中产生了进位,则将进位1加到AH中,同时CF=AF=1;否则CF=AF=0。AAA指令对其他标志无定义。使AL的高4位清0。*/这是在百度上找到的,
我想问的是,这里说的调整,是怎么调整的啊?
比如,AH=0,AL=06H,BL=09H,
ADD AL,BL
AAA
后,AL和BL各是多少?,
还有AH。
...全文
990 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaohuan198929 2010-11-04
  • 打赏
  • 举报
回复
不错啊 ,讲的精辟
颓废老板 2009-05-02
  • 打赏
  • 举报
回复
讲得不错啊
zhaoxianghua 2009-01-10
  • 打赏
  • 举报
回复
学习了!
cnzdgs 2008-12-24
  • 打赏
  • 举报
回复
ADD AL,BL之后,AL的值是15,AAA调整后变成用AH、AL表示非压缩BCD码的15,即AH=1,AL=5,不影响其它通用寄存器的值。
BAYNPU 2008-12-23
  • 打赏
  • 举报
回复
AL=05,BL=09,AH=01
其原因:00000110+00001001=00001111(非法BCD码)通过加6后得到结果:00001111+00000110=00010101
BCD码加法运算,当结果大于9时或AF或等于1时需要做加6调整.
原因:用二进制数运算规律进行十进制数运算.一位十进制数逢十进一,四位二进制数逢十六进一,加6是为了强迫进位;补充进位多带走的6

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧