8085 微处理器中的 RRC 指令
在 8085 指令集中,RRC 代表“累加器右移”。借助此指令,我们可以将累加器的当前内容向右旋转 1 位。下图将描述旋转操作。
在此右移操作中,最低有效位将从累加器中移出,并被复制到标志寄存器中的 Cy 位,并也被复制到累加器的最高有效位位置。请注意,Cy 标志不参与旋转,它只是累加器内容的 8 位旋转。只有 Cy 标志受此指令执行的影响。
助记符,操作数 | 操作码(十六进制) | 字节数 |
---|---|---|
RRC | 0F | 1 |
此指令可用于以下多种操作:
通过 cy 位的值来检查累加器最低有效位的值。
它可以用来执行除以 2 的操作。我们知道,如果我们将累加器除以 2n,则累加器的内容将向右移动 n 位。
这些指令的执行已通过以下示例进行了说明:
示例 1
之前 | 之后 | |
---|---|---|
(A) |
8AH | 45H |
(Cy) |
任意值 | 0 |
8AH ---> 1000 1010 0100 0101 ---> 45H (Last bit 0 is copied to Cy bit)
地址 | 十六进制代码 | 助记符 | 注释 |
---|---|---|---|
2002 | 0F | RRC | 累加器右移 |
请注意,累加器值减半。
示例 2
之前 | 之后 | |
---|---|---|
(A) |
8BH | C5H |
(Cy) |
任意值 | 1 |
8AH ---> 1000 1011 1100 0101 --->C5H (Last bit 1 is copied to Cy bit)
地址 | 十六进制代码 | 助记符 | 注释 |
---|---|---|---|
2002 | 0F | RRC | 累加器右移 |
请注意,在这种情况下,累加器值没有减半,因为累加器的最低有效位在旋转之前为 1。
针对此指令RRC执行的时序图如下所示:
总结 - 因此,此指令RRC需要 1 个字节、1 个机器周期(操作码获取)和 4 个 T 状态才能执行,如时序图所示。
广告