单片机中调整指令:DA A是什么意思

 我来答
帐号已注销
2021-01-18 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:167万
展开全部

这是用汇编写程序,计算十进制时常用的指令,是十进制调整指令。

例,计算15+16,而且是用BCD码示时,是0001 0101 + 0001 0110

计算和为:0010 1011,是2BH,并不是31,这时就可以用DA A指令进行整调,就变成 0011 0001 ,这就是31的BCD码了。

DA A指令,只对加法计算结果有调整作用。

扩展资料:

1、按指令所占的字节来分:

(1)单字节指令(49条) 如MOV A,R2,(机器码11101010)

(2)双字节指令(46条) 如MOV A,#0BH,(机器码74H,

0BH)

(3)三字节指令(16条) 如MOV 0BH, #0BH ,(机器码75H,

0BH,0BH)

2、按指令的执行时间来分:(1个机器周期为12个时钟周期

(1) 1个机器周期(64条) ,如MOV A,R2 MOV A,#0BH,

(2) 2个机器周期(45条) ,如MOV 0BH, #0BH

(3) 4个机器周期(2条) ,乘、除指令。

参考资料来源:百度百科-单片机系统指令

物理狂人
2009-06-13 · TA获得超过2702个赞
知道小有建树答主
回答量:609
采纳率:100%
帮助的人:514万
展开全部
BCD码转换指令;
比如说:
81D+91D=172D
而:
81H+91H=112H
这里为了将81H+91H结果与81D+91D一致,经过DA有:
DA(112H)=112H+60H=172H
虽然一个是16进制一个是10进制但172在形式上是相等的。

MOV R5,#81H
MOV A, #91H
ADD A, R5
DA A
首先81H+91H=112H,此时AC=0,Cy=1,A=12H,所以DA A后A=12H+60H=72H,AC=0,Cy=1,结果为172H,当然运算应该理解为81D+91D=172D。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lycdl
高粉答主

2018-04-17 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2万
采纳率:94%
帮助的人:4935万
展开全部
这是用汇编写程序,计算十进制时常用的指令,是十进制调整指令。
例,计算15+16,而且是用BCD码表示时,是0001 0101 + 0001 0110
计算和为:0010 1011,是2BH,并不是31,这时就可以用DA A 指令进行整调,就变成 0011 0001 ,这就是31的BCD码了。
DA A 指令,只对加法计算结果有调整作用。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
德昂当
2011-03-14 · TA获得超过2842个赞
知道大有可为答主
回答量:1074
采纳率:100%
帮助的人:757万
展开全部
答案是 A=62H
DA A 是BCD加法后的调整
两个BCD码相加 35+27 =62
ADD A,#27后 A=5BH
DA A ;进行调整就成了 62H

一定是两个BCD码相加,DA A 要紧跟在 ADD 之后
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wshy1126
2009-06-13 · 超过10用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:28.7万
展开全部
这条指令对累加器中由上一条加法指令(加数和被加数均为要所BCD吗)所获得的8位结果进行调整,使它调整为八位压缩BCD码的数。
例如:(A)=55,(R5)=67
ADD A,R5
DA A
结果为(A)=23,CY=1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式