8085微处理器中的临时寄存器(temp)
临时寄存器也是一个8位寄存器,程序员完全无法访问。它临时存储在8085微处理器内部,是指令集的8位操作数。例如,当获取指令“MVI M, 34H”时,指令寄存器IR将接收MVI M的操作码,而Temp寄存器将接收34H。
进行的算术和逻辑运算涉及两个操作数,其中一个操作数由累加器提供,另一个操作数由Temp寄存器提供。例如,在加法过程中,对B寄存器的指令,所有内容都将移动到Temp寄存器,然后算术逻辑单元最终执行寄存器A和Temp寄存器的加法。与8085微处理器中的W和Z寄存器类似,它也是临时寄存器,用于内部存储信息,地址范围为16位或2字节。
优点:内部存储信息。
缺点:用户或程序员无法访问。
为了定义临时寄存器,我们可以提到它是一个8位的不可编程寄存器,用于在算术和逻辑运算期间保存数据(临时寄存器用于保存中间结果)。结果存储在累加器中,标志(触发器)根据运算结果设置或复位。
让我们考虑一个例子。首先,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将被地址8000H的21H(即LXI H指令)加载。然后是地址8003H的11H(即LXI D),最后是地址8006H的76H(即HLT指令)。IR具有自动增量功能,这在从内存线性执行指令时非常有用。另一方面,当执行LXI指令时,临时寄存器W和Z分别保存16位地址8050H和8070H,如表所示。
广告