频道栏目
读书频道 > 系统 > 其他综合 > 深入理解8051单片机系统
2.1.3 ADD指令
2015-12-02 16:53:48     我来说两句
收藏   我要投稿

本文所属图书 > 深入理解8051单片机系统

本书详细介绍了8051单片机的各种功能。主要内容包括8051微控制器、8051汇编语言编程、跳转指令、循环指令、调用指令、I O端口编程、8051寻址方式、算术逻辑指令与程序、8051 C语音编程、8051硬件接线、8051定时  立即去当当网订购

ADD指令有如下格式:



ADD指令告知CPU将源操作数字节与寄存器A中内容相加,并将结果存放在寄存器A中。为了将两数相加,如25H和34H,就可以先将每个加数装载到寄存器中,然后再进行相加:


执行以上程序的结果是A=59H(25H+34H=59H),R2=34H。注意,R2中的内容不变。可使用多种方法编写以上程序,这取决于使用的寄存器。另一种方法可以是:

以上程序的结果是A=59H。对于同样的程序可有多种编程方法,在看了这段程序之后可能会想:是否有必要在两个数相加之前将它们都装载到寄存器中呢?回答是否定的,没有必要。对于同样的程序可有不同的写法,如下:



在上述情况中,当寄存器中包含一个数值时,下一条指令的操作数就是另一个数值,这就叫立即操作数。前面几个例子说明,ADD指令源操作数既可以是寄存器也可以是立即数,但是目的操作数必须是寄存器A,即累加器。换言之,指令“ADD R2,#12H”是无效的,这是因为寄存器A(累加器)必须存在于任何的算术运算中。注意,“ADD R4,A”也是无效指令,因为寄存器A只能是任意算术运算中的目的操作数而不能是源操作数。简而言之,8051中的任意算术逻辑操作,必须含有寄存器A,且必须是目的操作数。前面解释过为何将寄存器A称为累加器。汇编指令的格式、指令描述及合法操作类型列表见A.1节。

8051中有两个16位寄存器:程序计数器和数据指针。程序计数器的功能在2.3节中讲解。如何使用DPTR寄存器访问数据将在第5章讨论。

复习题

1.编写指令,将34H装载到寄存器A中,将3FH装载到寄存器B中,然后再将它们相加。

2.编写指令,将16H和CDH相加,并将结果放在寄存器R2中。

3.判断题。不能直接将数值装载到寄存器R0~R7中。

4.能装载到8位寄存器中最大十六进制数是什么?

该十六进制数对应的十进制数是什么?

5. 8051中的大多数寄存器是(    )位。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.1.2 MOV指令
下一篇:2.2 8051汇编编程简介
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站