322数据传送类指令 寄存器 直接地址 寄存器 direct DPTR 8 16 寄存器 直接地址 立即数 R0~R7 dir rect *data 88 寄存器间接 寄存器间接 累加器A @R1、@R0 @SP 图3-1MCS51传送指令示意图
3.2.2 数据传送类指令 图 3 –1 MCS -51传送指令示意图
表31数据传送类指令一览表 指令助记符 功能简述 字节数振荡周期 MOV A, Rn 寄存器内容送累加器 12 MOv A, direct 直接寻址字节送累加器 MOV A, @Ri 内部RAM单元内容送加器 12 MOV A, # data 立即数送累加器 12 MOV Rn, A 累加器内容送寄存器 12 MOV Rn, direct 直接寻址字节送寄存器 MOV Rn, data 立即数送寄存器 12 Mov direct, A 累加器内容送直接寻址字节单元 12 mov direct, Rn 寄存器内容送直接寻址字节 mov directl, direct 直接寻址字节之间传送 MoV direct, @Ri 内部RAM单元内容送直接寻址字节单元 Mov direct, data 立即数送直接寻址字节单元 3 24 MOV @Ri, A 加器内容送内部RAM单元 12 MOV @Ri, direct 直接寻址字节送内部RAM单元 MOV @Ri, #data 立即数送内部RAM单元 12
表 3.1 数据传送类指令一览表
表3.1数据传送类指令一览表 指令助记符 功能简述 字节数振荡周期 MOV DPTR, #data 16位立即数送数据指针 MOVC A,@A+DPTR程序存储器单元内容送累加器(相对数据指针) MOVC A,@A+PC 程序存储器单元送累加器(相对程序计数器) MOVX A, Ri 外部RAM单元内容送累加器(8位地址) MOVX A, @DPTR 外部RAM单元内容送累加器(16位地址) 311111 MOVX @Ri,A 累加器内容送外部RAM单元(8位地址 MOVX @DPTR, A 累加器内容送外部RAM单元(16位地址) PUSH direct 栈顶弹至直接寻址字节 PoP direct 直接寻址字节压入栈顶 XCH A, Rn 累加器内容与寄存器内容交换 12 XCH A, direct 累加器内容与直接寻址字节交换 12 XCH A, @Ri 累加器内容与内部RAM单元内容交换 12 XCHD A, @Ri 累加器低4位与内部RAM单元低4位交换 111 12 SWAP A 累加器高4位与低4位交换
表 3.1 数据传送类指令一览表
1数据传送到累加器A的指令 MOV A RO MOV A, direct MOV A, @Ri MOV A t data 这组指令的功能是:把源操作数的内容送入累加器A 例如:MOVA,#10H,该指令执行时将立即数10H送入累 加器A中
1. 数据传送到累加器A MOV A, R0 MOV A, direct MOV A, @Ri MOV A, #data 这组指令的功能是:把源操作数的内容送入累加器A。 例如: MOV A, #10H, 该指令执行时将立即数 10H送入累 加器A中
2.数据传送到工作寄存器Rn的指令 MOV Rn. A MOV Rn. direct MOV Rn. data 这组指令的功能是:把源操作数的内容送入当前工作寄 存器区的R0~R7中的某一个寄存器。指令中Rm在内部数据 存储器中的地址由当前的工作寄存器区选择位RS1、RS0 确定,可以是00H~07H、08H~0FH、10H~17H、18H~ IFH。例如:MOVR0,A,若当前RS1、RS0设置为00(即 工作寄存器0区),执行该指令时,将累加器A中的数据传送 至工作寄存器R0(内部RAM00H)单元中
2. 数据传送到工作寄存器Rn MOV Rn, A MOV Rn, direct MOV Rn, #data 这组指令的功能是: 把源操作数的内容送入当前工作寄 存器区的R0~R7中的某一个寄存器。指令中Rn在内部数据 存储器中的地址由当前的工作寄存器区选择位RS1、RS0 确定, 可以是 00H~07H、08H~0FH、10H~17H、18H~ 1FH。 例如: MOV R0, A, 若当前RS1、RS0 设置为 00 (即 工作寄存器 0 区), 执行该指令时,将累加器A中的数据传送 至工作寄存器R0(内部RAM 00H)单元中