在8051微控制器中,数据传输组下有28条不同的指令。总共有79个操作码。这些标志不受使用数据传输指令的影响,但是如果使用数据传输指令更改A寄存器的值,则P(奇偶校验)标志可能会更改。同样,当数据传输到PSW寄存器时,标志也会改变。
在下表中,我们将以机器周期,操作码数量等形式查看助记符,长度,执行时间。
助记符 | 字节数 | 执行时间处理时间 | 操作码计数 |
---|---|---|---|
MOV A,Rn | 1 | 1 | 8 |
MOV 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 |
推a8 | 2 | 2 | 1 |
流行音乐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。
序号 | 说明及描述 |
---|---|
1 | MOV R2,35H 是MOV Rn,a8的示例。内部存储器的位置35H的内容被移至寄存器R2。 |
2 | MOV 0F0H,#12H 是MOV a8,#d8类型的示例。这里的12H将存储在寄存器B中。这一等效指令是MOV B,#25H |
3 | PUSH 0F0H 这是PUSH a8的示例。此处,寄存器B的内容被压入堆栈。 |
4 | POP 40H 这就像POP a8。它指示堆栈顶部的内容已移动到内部RAM位置40H。 |
5 | XCH A,R2 这就像XCH A,Rn。该指令用于交换A和寄存器R2的内容。 |
6 | XCHD A @ R0 该指令类似于XCHD A,@ Ri指令。使用该指令交换由R0指向的A的LS位和内部RAM位置的LS位。 |