8051中的数据传输指令组


在 8051 微控制器中,数据传输指令组下有 28 条不同的指令。总共有 79 个操作码。使用数据传输指令不会影响标志位,但如果使用数据传输指令更改了 A 寄存器的值,则 P(奇偶校验)标志可能会发生变化。类似地,当数据传输到 PSW 寄存器时,标志位将发生变化。

在下表中,我们将看到助记符、长度、机器周期执行时间、操作码数量等。

助记符
字节数
执行时间
操作码数
MOV A, Rn
1
1
8
MOV A, a8
2
1
1
MOV A, @Ri
1
1
2
MOV A, #d8
2
1
1
MOV Rn, A
1
1
8
MOV Rn, a8
2
2
8
MOV Rn, #d8
2
1
8
MOV a8, A
2
1
1
MOV a8, Rn
2
2
8
MOV a8, a8
3
2
1
MOV a8, @Ri
2
2
2
MOV a8, #d8
3
2
1
MOV @Ri, A
1
1
2
MOV @Ri, a8
2
2
2
MOV @Ri, #d8
2
1
2
MOV DPTR, #d16
3
2
1
MOVC A, @A+DPTR
1
2
1
MOVC A, @A+PC
1
2
1
MOVX A, @Ri
1
2
2
MOVX A, @DPTR
1
2
1
MOVX @Ri, A
1
2
2
MOVX @DPTR, A
1
2
1
PUSH a8
2
2
1
POP a8
2
2
1
XCH A, Rn
1
1
8
XCH A, a8
2
1
1
XCH A, @Ri
1
1
2
XCHD A, @Ri
1
1
2


如果时钟频率为 12MHz,则 1 个机器周期将需要 1 µs 来执行。

示例


序号指令和描述
1MOV R2, 35H
这是 MOV Rn, a8 的一个示例。内部存储器 35H 位置的内容被移动到寄存器 R2。
2MOV 0F0H, #12H
这是 MOV a8, #d8 类型的示例。这里 12H 将存储在寄存器 B 中。此指令的等效指令是 MOV B, #25H
3PUSH 0F0H
这是 PUSH a8 的一个示例。这里寄存器 B 的内容被压入堆栈。
4POP 40H
这类似于 POP a8。它表示堆栈顶部的内容被移动到内部 RAM 位置 40H。
5XCH A, R2
这类似于 XCH A, Rn。此指令用于交换 A 和寄存器 R2 的内容。
6XCHD A @R0
此指令类似于指令 XCHD A,@Ri。使用此指令,A 的低位数字和 R0 指向的内部 RAM 位置的低位数字将被交换。


更新于: 2020年6月27日

11K+ 次查看

启动您的职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.