数据传送类指令的功能是将源操作数中的内容送到目的操作数中。数据传送类指令是使用最多的一类指令,它又可以分为五种:内部RAM的数据传送指令,外部RAM与累加器A的数据传送指令,ROM与累加器A的数据传送指令,数据交换指令和堆栈操作指令。
1.内部RAM数据传送指令
内部RAM数据传送指令的操作码助记符是“MOV”。
指令格式:MOV目的操作数,源操作数
指令的功能是将源操作数中的内容送到目的操作数中。指令执行后,源操作数内容不变,目的操作数内容与源操作数一致。
内部RAM数据传送指令又可以分为五种:
1)以累加器A为目的操作数的传送指令。
2)以寄存器Rn为目的操作数的传送指令。
3)以寄存器Ri间址单元为目的操作数的传送指令。
4)以直接地址direct为目的操作数的传送指令。
5)16位数据传送指令。
(1)以累加器A为目的操作数的传送指令
以累加器A为目的操作数的传送指令有4条,其形式和功能见表3-2。
表3-2 以累加器A为目的操作数的传送指令
(续)
注:#data表示8位数据(立即数),Rn表示工作寄存器组中的8个寄存器R0~R7(n=0~7),Ri表示工作寄存器中可间址寻址的2个寄存器R0~R1(i=0,1),@表示间址寻址,direct表示直接地址。
(2)以寄存器Rn为目的操作数的传送指令
以寄存器Rn为目的操作数的传送指令有3条,各条指令的形式和功能见表3-3。
表3-3 以寄存器Rn为目的操作数的传送指令
(3)以寄存器Ri间址单元为目的操作数的传送指令
以寄存器Ri间址单元为目的操作数的传送指令有3条,各条指令的形式和功能见表3-4。
表3-4 以寄存器Ri间址单元为目的操作数的传送指令
(4)以直接地址direct为目的操作数的传送指令
以直接地址direct为目的操作数的传送指令有4条,各条指令的形式和功能见表3-5。
(5)16位数据传送指令
16位数据传送指令只有1条,该条指令的形式和功能见表3-6。
表3-5 以直接地址direct为目的操作数的传送指令
表3-6 16位数据传送指令
2.外部RAM与累加器A的数据传送指令
外部RAM与累加器A的数据传送指令操作码助记符是“MOVX”。
指令格式:MOVX目的操作数,源操作数
指令的功能是将源操作数中的内容送到目的操作数中。指令执行后,源操作数内容不变,目的操作数内容与源操作数一致。
外部RAM与累加器A的数据传送指令有4条,各条指令的形式和功能见表3-7。(www.xing528.com)
由于DPTR是16位寄存器,它可以存储216(65536)种不同的地址编号,故表中的第1、2条指令可访问64KB的外部RAM空间;而Ri是8位寄存器,可以存储28(256)种不同的地址编号,所以表中的第3、4条指令可访问256B的外部RAM空间。
表3-7 外部RAM与累加器A的数据传送指令
3.ROM与累加器A的数据传送指令
ROM与累加器A的数据传送指令又称查表指令,它的操作码助记符是“MOVC”。
指令格式:MOVC目的操作数,源操作数
指令的功能是将源操作数中的内容送到目的操作数中。指令执行后,源操作数内容不变,目的操作数内容与源操作数一致。
ROM与累加器A的数据传送指令有2条,各条指令的形式和功能见表3-8。
表3-8 ROM与累加器A的数据传送指令(查表指令)
【例3-2】 将ROM中从1234H开始的十个连续地址中的数据传送到RAM中从30H开始的十个连续地址中。
解答:程序设计有如下要点:
1)将ROM中的数传递给RAM,考虑使用查表指令MOVC。
2)由于需要连续的十个地址,考虑使用加法自加1指令INC。
3)由于INC只能针对于地址中内容加一,而不能使地址加1,考虑使用间接寻址方式配合,如INC R0与MOV@R0,A配合使用,使得A的内容送到以R0内容位地址的RAM空间中。
流程图及程序设计如下:
4.数据交换指令
数据交换指令的操作码助记符有3个:“XCH”、“XCHD”和“SWAP”。
指令格式:数据交换指令操作码助记符目的操作数,源操作数
指令的功能是将源操作数中的内容与目的操作数交换。指令执行后,源操作数内容和目的操作数内容互换。
数据交换指令有5条,各条指令的形式和功能见表3-9。
表3-9 数据交换指令
【例3-3】 如图3-6所示,使用交换指令实现LED0、LED1、LED2、LED3亮,LED4、LED5、LED6、LED7灭。
解答:全字节交换指令:MOV R0,#0F0H
XCH A,R0
MOV P1,A
半字节交换指令:MOV A,#0FH
SWAP A
MOV P1,A
5.堆栈操作指令
堆栈操作指令有两个:进栈指令“PUSH”和出栈指令“POP”。指令的形式和功能见表3-10。
表3-10 堆栈操作指令
小提示
数据传送类指令执行后,不会影响PSW的CY、AC、OV等标志位,但涉及累加器A中的数据改变时,将会影响到PSW的奇偶校验位P。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。