登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

请教DA 的用法

作者:wxq22 栏目:新手园地
请教DA 的用法
哪位大哥能给我讲解以下DA这个十进制调整指令的用法?  
都加6是什么意思?

2楼: >>参与讨论
maychang
Re:
十进制调整用于BCD码加法。两个压缩BCD数相加,先按照二进制相加,然后用十进制调整指令,该指令检查结果是否正确,如错误则进行调整。
例如,55H与66H相加,按照二进制是BBH,没有进位。但按照十进制则应该是21H,有进位。
MOV     A,#55H
ADD     A,#66H
结果是BBH,C清零
MOV     A,#55H
ADD     A,#66H
DA      A
结果是21H,C置位


3楼: >>参与讨论
wxq22
还是有点问题
1-前面为什么要清0
2-后面21H是怎么来的,能否再说明一下.
因为我看的书上把这个DA的用法省略掉了,请指教.THANK YOU VERY MUCH!

4楼: >>参与讨论
wxq22
BCD码的范围?
BCD码的范围是0-F吗?

5楼: >>参与讨论
twz8858877
DA指令
一般用于加法以后做十进制调整,具体操作是累加器低四位大于9或辅助进位为1时,低四位加6;高四位大于9或进位位为1时高四位加6。在maychang举的例子中加法以后累加器中高四位与低四位均大于9,所以调整时高低四位同时加6,结果为21H,C置位。
BCD码范围为0~9,称为二-十进制数,即用二进制来表示的十进制数,DA指令中的加6正是这两种数制范围不同而得来的。(单片机中的运算指令都是基于二进制的)

6楼: >>参与讨论
wxq22
谢谢 twz8858877 的解答.
谢谢 twz8858877 的解答.我终于明白了.

7楼: >>参与讨论
jxb163
哎,我还以为是关于D/A CONVERTER的呢!
 
参与讨论
昵称:
讨论内容:
 
 
相关帖子
问个初级问题?
请大家看看这是什么器件
单片机的某些引脚不能编程
学完单片机之后不知道学什么了
lc串联谐振电压放大
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号