首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 常用文档 > 单片机教程11课:单片机算术运算指令

单片机教程11课:单片机算术运算指令

资料介绍
单片机资料

不带进位位的单片机加法指令
ADD A,#DATA ;例:ADD A,#10H
ADD A,direct ;例:ADD A,10H
ADD A,Rn ;例:ADD A,R7
ADD A,@Ri ;例:ADD A,@R0
用途:将A中的值与其后面的值相加,最终结果否是回到A中。
例:MOV A,#30H
ADD A,#10H
则执行完本条指令后,A中的值为40H。
下面的题目自行练习
MOV 34H,#10H
MOV R0,#13H
MOV A,34H
ADD A,R0
MOV R1,#34H
ADD A,@R1
带进位位的加法指令
ADDC A,Rn
ADDC A,direct
ADDC A,@Ri
ADDC A,#data
用途:将A中的值和其后面的值相加,并且加上进位位C中的值。
http://www.51hei.com 希望大家常来本站学习单片机相关知识
说明:由于51单片机是一种8位机,所以只能做8位的数学运算,但8位运算的范围只有0
-255,这在实际工作中是不够的,因此就要进行扩展,一般是将2个8位的数学运算合起
来,成为一个16位的运算,这样,能表达的数的范围就能达到0-
65535。如何合并呢?其实很简单,让我们看一个10进制数的例程:
66+78。
这两个数相加,我们根本不在意这的过程,但事实上我们是这样做的:先做6+8(低位)
,然后再做6+7,这是高位。做了两次加法,只是我们做的时候并没有刻意分成两次加法
来做罢了,或者说我们并没有意识到我们做了两次加法。之所以要分成两次来做,是因
为这两个数超过了一位数所能表达的范置(0-9)。
在做低位时产生了进位,我们做的时候是在适当的位置点一下,然后在做高位加法是将
这一点加进去。那么计算机中做16位加法时同样如此,先做低8位的,如果两数相加产生
了进位,也要“点一下”做个标记,这个标记就是进位位C,在PSW
单片机教程11课:单片机算术运算指令
本地下载

评论