8085 微处理器中的寄存器 B、C、D、E、H 和 L
寄存器 B、C、D、E、H 和 L 是 8085 微处理器中的通用寄存器。所有这些 GPR 都是 8 位宽。它们不如累加器重要。它们用于在程序执行期间临时存储数据。例如,没有指令可以将 B 和 E 寄存器的内容相加。至少有一个操作数必须在 A 中。因此,要将 B 和 E 寄存器相加并将结果存储在 B 寄存器中,必须执行以下操作。
将 B 寄存器的内容移到 A 寄存器。
然后将 A 和 E 寄存器相加。结果将存储在 A 中。
将此结果从 A 寄存器移到 B 寄存器。
可以将这些寄存器成对使用以存储 16 位信息。只有 BC、DE 和 HL 可以形成寄存器对。当它们在指令中用作寄存器对时,左侧寄存器被理解为具有 MS 字节,右侧寄存器具有 LS 字节。例如,在 DE 寄存器对中,D 寄存器的内容被视为 MS 字节,E 寄存器的内容被视为 LS 字节。
下图显示了 8085 微处理器的架构及其寄存器组织 –
例如,为了演示如何在我们的 8085 汇编语言编程中使用这些寄存器,我们考虑以下示例。MVI 是一个助记符,实际上表示“立即移动”。使用此指令,我们可以用一个 8 位或 1 字节的值加载寄存器。此指令支持立即寻址模式来指定指令中的数据。在指令“d8”中表示任何 8 位数据,“r”表示任何一个寄存器,例如 A、B、C、D、E、H 或 L。因此,此 r 可以替换七个寄存器中的任何一个。
由于“r”可以具有七个寄存器名称中的任何一个,因此此类指令有七个操作码。它在内存中占用 2 个字节。
助记符,操作数 | 操作码 | 字节 |
---|---|---|
MVI A,数据 | 3E | 2 |
MVI B,数据 | 06 | 2 |
MVI C,数据 | 0E | 2 |
MVI D,数据 | 16 | 2 |
MVI E,数据 | 1E | 2 |
MVI H,数据 | 26 | 2 |
MVI L,数据 | 2E | 2 |
例如,如果我们考虑指令 MVI E,ABH,则表示 ABH 将被移动或复制到寄存器 E。结果,E 的先前值将被覆盖。
地址 | 十六进制代码 | 助记符 | 注释 |
---|---|---|---|
2000 | 1E | MVI E,ABH | E ← ABH |
2001 | AB | ABH 作为操作数 |
此指令将具有七个 T 状态,如下所示。
**总结** - 因此,此指令 **MVI E,ABH** 需要 2 个字节、2 个机器周期(操作码获取和内存读取)和 7 个 T 状态才能执行,如时序图所示。