数据传送指令是MCS-51单片机汇编语言程序设计中使用最频繁的指令,包括内部 RAM、寄存器、外部RAM以及程序存储器之间的数据传送。
数据传送操作是指把数据从源地址传送到目的地址,源地址内容不变。
1. 以累加器A为目的操作数的指令
MOVA,#data;A←#data
MOVA,Rn;n=0~7,A←(Rn)
MOVA,@Ri;i=0,1,A←((Ri))
MOVA,direct;A←(Rn)direct为内部RAM或SFR地址
2.以Rn为目的操作数的指令
MOVRn,A;Rn←(A),n=0~7
MOVRn,direct;Rn←(direct)
MOVRn,#data;Rn←#data
3.以直接地址为目的操作数的指令
MOVdirect,A;direct←(A)
MOVdirect,Rn;direct←(Rn),n=0~7
MOVdirect,@Ri;direct←((Ri)),i=0,1
MOVdirect,direct;direct←(direct)
MOVdirect,#data;direct←#data
4.以寄存器间接地址为目的操作数指令
MOV@Ri,A;((Ri))←(A),i=0,1
MOV@Ri,direct;((Ri))←(direct)
MOV@Ri,#data;((Ri))←#data
字节交换指令
XCHA,Rn;(A)←→(Ri)
XCHA,direct;(A)←→(direct)
XCHA,@Ri;(A)←→(Ri)
半字节交换指令
XCHDA,@Ri;(A)0-3←→((Ri))0-3
累加器A与外部数据传输指令
MOVXA,@DPTR;A←((DPTR))地址范围64K
MOVXA,@Ri;A←((Ri))地址范围0~255
MOVX@DPTR,A;(DPTR)←(A)
MOVX@Ri,A;(Ri)←(A)
查表指令
1)MOVCA,@A+DPTR;A←((A)+(DPTR))
2)MOVCA,@A+PC;A←((A)+(pc))