第3章MCS-51单片机指令系统讲解.pptVIP

  • 12
  • 0
  • 约1.26万字
  • 约 54页
  • 2017-03-24 发布于湖北
  • 举报
用于对BCD码十进制数加法运算结果的内容修正。 指令格式: DA A 两个BCD码按二进制相加之后,必须经本指令的调整 才能得到正确的压缩BCD码的和数。 二进制数的加法运算原则并不能适用于十进制数的加法运算,有时会产生错误结果。例如: (a)3+6=9 0011+0101=1001 运算结果正确 (b)7+8=15 0111+1000=1111 运算结果不正确 (c)9+8=17 1001+1000=00001 C=1 结果不正确 二进制数加法指令不能完全适用于BCD码十进制数的加法运算,对结果作有条件的修正 ——十进制调整 出错原因和调整方法: BCD码只用了了其中的10个,6个没用到的编码。 (1010,1011,1100,1101,1110,1111)为无效码 凡结果进入或者跳过无效码编码区时,其结果就是错误的。 调整的方法是把结果加6调整,即所谓十进制调整修正。 修正方法应是: (a)累加器低4位大于9或辅助进位位Ac=1,则进行低4位加6修正。 (b)累加器高4位大于9或进位位Cy=1,则进行高4位加6修正。 (c)加器高4位为9,低4位大于9,则高4位和低4位分别加6修正。 具体是通过执行指令:DA A 来自动实现的 。 例 (A)=56H,(R5)=67H,把它们看作为两个压缩的BCD数,进行BCD数的加法。执行指令:

文档评论(0)

1亿VIP精品文档

相关文档