8051逻辑分组
在8051微控制器中,逻辑分组下有25条不同的指令。总共有49个操作码。进位标志(CY)仅受RRC和RLC指令影响。
在下表中,我们将看到助记符、长度、机器周期中的执行时间、操作码数量等。
| 助记符 | 字节数 | 执行时间 | 操作码数量 |
|---|---|---|---|
| ANL A, Rn | 1 | 1 | 8 |
| ANL A, a8 | 2 | 1 | 1 |
| ANL A, @Ri | 1 | 1 | 2 |
| ANL A, #d8 | 2 | 1 | 1 |
| ANL a8, A | 2 | 1 | 1 |
| ANL a8, #d8 | 3 | 2 | 1 |
| ORL A, Rn | 1 | 1 | 8 |
| ORL A, a8 | 2 | 1 | 1 |
| ORL A, @Ri | 1 | 1 | 2 |
| ORL A, #d8 | 2 | 1 | 1 |
| ORL a8, A | 2 | 1 | 1 |
| ORL a8, #d8 | 3 | 2 | 1 |
| XRL A, Rn | 1 | 1 | 8 |
| XRL A, a8 | 2 | 1 | 1 |
| XRL A, @Ri | 1 | 1 | 2 |
| XRL A, #d8 | 2 | 1 | 1 |
| XRL a8, A | 2 | 1 | 1 |
| XRL a8, #d8 | 3 | 2 | 1 |
| CLR A | 1 | 1 | 1 |
| CPL A | 1 | 1 | 1 |
| RL A | 1 | 1 | 1 |
| RLC A | 1 | 1 | 1 |
| RR A | 1 | 1 | 1 |
| RRC A | 1 | 1 | 1 |
| SWAP A | 1 | 1 | 1 |
示例
| 序号 | 指令及描述 |
|---|---|
| 1 | ANL A, R5 这是一个 ANL A, Rn 类型的示例。在此指令中,R5 的内容将与寄存器 A 进行与运算,并将结果存储到 A 中。类似地,或运算 (ORL A, Rn) 和异或运算 (XRL A, Rn) 也同样工作。 |
| 2 | CLR A 这是一个清晰的指令。使用此指令,寄存器 A 的内容将为 00H。我们不能使用此指令清除其他寄存器的内容。 |
| 3 | CPL A 此指令用于对寄存器 A 的每一位取反。此指令也不能对其他寄存器的数据取反。 |
| 4 | RL A 此指令用于将 A 寄存器左移。这相当于 8085 的 RLC 指令。此指令不影响任何标志。 |
| 5 | RLC A 这与 RL A 指令类似,但它通过进位标志进行旋转。8085 的 RAL 指令与此指令类似。只有进位标志受此指令影响。 |
| 6 | RR A 此指令可以执行 RL A 指令的反向操作。它将 A 寄存器的内容右移。在 8085 中,等效指令为 RRC。 |
| 7 | RRC A 这是通过进位标志右移。它仅影响进位标志。8085 中的等效指令为 RAR。 |
| 8 | SWAP A 此指令用于交换低位十六进制数字和高位十六进制数字。此指令的功能与执行 RL A/RR A 四次相同。 |
广告
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
JavaScript
PHP