51单片机数据传送指令

简介: 51单片机数据传送指令51单片机数据传送指令  数据传送指令共有29条,数据传送指令一般的操作是把源操作数传送到目的操作数,指令执行完成后,源操作数不变,目的操作数等于源操作数。  如果要求在进行数据传送时,目的操作数不丢失,则不能用直接传送指令,而采用交换型的数据传送指令,数据传送指令不影响标志C,AC和OV,但可能会对奇偶标志P有影响。

51单片机数据传送指令

51单片机数据传送指令
  数据传送指令共有29条,数据传送指令一般的操作是把源操作数传送到目的操作数,指令执行完成后,源操作数不变,目的操作数等于源操作数。
  如果要求在进行数据传送时,目的操作数不丢失,则不能用直接传送指令,而采用交换型的数据传送指令,数据传送指令不影响标志C,AC和OV,但可能会对奇偶标志P有影响。
以累加器A为目的操作数类指令(4条)   这4条指令的作用是把源操作数指向的内容送到累加器A。有直接、立即数、寄存器和寄存器间接寻址方式: MOV A,data;   (data)→(A) 直接单元地址中的内容送到累加器A MOV A,#data;   #data →(A) 立即数送到累加器A中 MOV A,Rn;    (Rn)→(A) Rn中的内容送到累加器A中 MOV A,@Ri;   ((Ri))→(A) Ri内容指向的地址单元中的内容送到累加器A
以寄存器Rn为目的操作数的指令(3条)   这3条指令的功能是把源操作数指定的内容送到所选定的工作寄存器Rn中。有直接、立即和寄存器寻址方式: MOV Rn,data;  (data)→(Rn) 直接寻址单元中的内容送到寄存器Rn中 MOV Rn,#data;  #data →(Rn) 立即数直接送到寄存器Rn中 MOV Rn,A;    (A)→(Rn)    累加器A中的内容送到寄存器Rn中 以直接地址为目的操作数的指令(5条)   这组指令的功能是把源操作数指定的内容送到由直接地址data所选定的片内RAM中。有直接、立即、寄存器和寄存器间接4种寻址方式: MOV data,data; (data)→(data) 直接地址单元中的内容送到直接地址单元 MOV data,#data; #data→(data)   立即数送到直接地址单元 MOV data,A; (A)→(data)    累加器A中的内容送到直接地址单元 MOV data,Rn; (Rn)→(data)    寄存器Rn中的内容送到直接地址单元 MOV data,@Ri; ((Ri))→(data) 寄存器Ri中的内容指定的地址单元中数据送到直接地址单元
以间接地址为目的操作数的指令(3条)   这组指令的功能是把源操作数指定的内容送到以Ri中的内容为地址的片内RAM中。有直接、立即和寄存器3种寻址方式: MOV @Ri,data; (data)→((Ri)) 直接地址单元中的内容送到以Ri中的内容为地址的RAM单元 MOV @Ri,#data; #data→((Ri)) 立即数送到以Ri中的内容为地址的RAM单元 MOV @Ri,A; (A)→((Ri)) 累加器A中的内容送到以Ri中的内容为地址的RAM单元
查表指令(2条)   这组指令的功能是对存放于程序存储器中的数据表格进行查找传送,使用变址寻址方式: MOVC A,@A
+DPTR;((A))+(DPTR)→(A) 表格地址单元中的内容送到累加器A中 MOVC A,@A+PC; ((PC))+1→(A),((A))+(PC)→(A) 表格地址单元中的内容送到累加器A中
累加器A与片外数据存储器RAM传送指令(4条)   这4条指令的作用是累加器A与片外RAM间的数据传送。使用寄存器寻址方式: MOVX @DPTR,A; (A)→((DPTR)) 累加器中的内容送到数据指针指向片外RAM地址中 MOVX A, @DPTR; ((DPTR))→(A) 数据指针指向片外RAM地址中的内容送到累加器A中 MOVX A, @Ri; ((Ri))→(A) 寄存器Ri指向片外RAM地址中的内容送到累加器A中 MOVX @Ri,A; (A)→((Ri)) 累加器中的内容送到寄存器Ri指向片外RAM地址中
堆栈操作类指令(2条)   这4类指令的作用是把直接寻址单元的内容传送到堆栈指针SP所指的单元中,以及把SP所指单元的内容送到直接寻址单元中。
  这类指令只有两条,下述的第一条常 称为入栈操作指令,第二条称为出栈操作指令。
  需要指出的是,单片机开机复位后,(SP)默认为07H,但一般都需要重新赋值,设置新的SP首址。入栈的第 一个数据必须存放于SP
+1所指存储单元,故实际的堆栈底为SP+1所指的存储单元。 PUSH data; (SP)+1 →(SP),(data)→(SP) 堆栈指针首先加1,直接寻址单元中的数据送到堆栈指针SP所指的单元中 POP data; (SP)→(data),(SP)-1→(SP) 堆栈指针SP所指的单元数据送到直接寻址单元中,堆栈指针SP再进行减1操作
交换指令(5条)   这5条指令的功能是把累加器A中的内容与源操作数所指的数据相互交换。 XCH A,Rn;  (A)←→(Rn)         累加器与工作寄存器Rn中的内容互换 XCH A,@Ri;  (A)←→((Ri))       累加器与工作寄存器Ri所指的存储单元中的内容互换 XCH A,data; (A)←→(data)       累加器与直接地址单元中的内容互换 XCHD A,@Ri; (A3
-0)←→((Ri)3-0) 累加器与工作寄存器Ri所指的存储单元中的内容低半字节互换 SWAP A;    (A3-0)←→(A7-4)     累加器中的内容高低半字节互换
16位数据传送指令(1条)   这条指令的功能是把16位常数送入数据指针寄存器。 MOV DPTR,#data16;#dataH→(DPH)   #dataL→(DPL)  16位常数的高8位送到DPH,低8位送到DPL

 

我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】
相关文章
|
1月前
|
存储
单片机的指令系统
单片机的指令系统
16 1
|
安全 网络协议 API
利用单片机实现天气服务器获取指定位置天气数据
大家好,今天主要和大家聊一聊,如何利用单片机从心知天气服务器上获取到指定位置的天气数据,咱们先来了解一下心知天气吧!​
183 0
利用单片机实现天气服务器获取指定位置天气数据
|
存储 芯片
复习单片机:8*8点阵---->点亮数字0(内含:1.设计思路+2.数字0的编程数据+3.原始代码+4.实验现象)(注:获得编程数据工具的下载和使用放在下一篇文章)
复习单片机:8*8点阵---->点亮数字0(内含:1.设计思路+2.数字0的编程数据+3.原始代码+4.实验现象)(注:获得编程数据工具的下载和使用放在下一篇文章)
373 0
复习单片机:8*8点阵---->点亮数字0(内含:1.设计思路+2.数字0的编程数据+3.原始代码+4.实验现象)(注:获得编程数据工具的下载和使用放在下一篇文章)
单片机比赛准备05-蓝桥杯-第三届初赛模拟题(模拟传送装置)
单片机比赛准备05-蓝桥杯-第三届初赛模拟题(模拟传送装置)
114 0
单片机比赛准备05-蓝桥杯-第三届初赛模拟题(模拟传送装置)
|
存储 数据采集 移动开发
51单片机原理以及接口技术(三)-80C51的指令系统
指令是CPU按照人们的意图来完成某种操作的命令。一台计算机的CPU所能执行全部指令的集合称为这个CPU的指令系统。**指令系统功能的强弱决定了计算机性能的高低**。 80C51单片机具有111条指令,其指令系统的特点为: (1)**执行时间短。1个机器周期指令有64条,2个机器周期指令有45条,而4个机器周期指令仅有2条**(即乘法和除法指令); (2)指令编码字节少。**单字节的指令有49条,双字节的指令有45条,三字节的指令仅有17条**; (3)位操作指令丰富。这是80C51单片机面向控制特点的重要保证。
282 0
51单片机原理以及接口技术(三)-80C51的指令系统
|
存储 编译器 内存技术
单片机异常复位后如何保存变量数据
单片机异常复位后如何保存变量数据
单片机异常复位后如何保存变量数据