8085 微处理器中的指令寄存器 (IR)
IR(指令寄存器)是一个特殊用途的寄存器,用于接收指令的 8 位操作码部分。程序员无法访问它。这意味着没有指令可以让程序员用他选择的数值加载它。例如,指令集 8085 中不存在诸如“MOV IR, D”或“MVI IR, 45H”之类的指令。因此,在程序员对 8085 的视图中没有显示 IR 寄存器。
让我们考虑一个例子。首先,PC 加载值为 8000H。这是通过键入“Go”键,然后键入“8000”,最后键入“Exec”键来完成的。然后,8085 执行以下操作。它发送 8000H 地址,这是 PC 的内容。它从位置 8000H 接收 21H,这是 LXI H 的操作码。它被接收在一个称为指令寄存器(简称 IR)的 8 位寄存器中,如下所示。
| 地址 | 十六进制代码 | 标签 | 助记符 | T 状态 | 注释 |
|---|---|---|---|---|---|
| 8000 | 21 (IR) 50 (Z) 80 (W) | START | LXI H, 8050H | 10 | 将 HL 对设置为源内存的指针。 |
| 8003 | 11 (IR) 70 (Z) 80 (W) | LXI D, 8070H | 10 | 将 DE 对设置为目标内存的指针 | |
| 8006 | 76 (IR) | HLT | 5 | 停止 |
因此,在上面的示例中,首先 IR 将由 21H 加载,即地址 8000H 处的 LXI H 指令。然后由 11H 加载,即地址 8003H 处的 LXI D 指令,最后由 76H 加载,即地址 8006H 处的 HLT 指令。IR 具有自动增量功能,这在从内存中线性执行指令时非常有用。另一方面,当指令 LXI 正在执行时,临时寄存器 W 和 Z 保持 16 位地址 8050H,然后是 8070H,如表所示。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP