8085微处理器中的RAR指令


在8085指令集中,RAR代表“带进位标志的累加器右移”。它将累加器内容向右旋转1位。从下图中,我们可以了解操作细节。

RAR Accumulator

从图中可以看出,在右移过程中,最低有效位将移出并复制到进位标志位,而之前的进位标志位将移到累加器的最高有效位。这是一个1字节指令,是累加器和进位标志内容的9位旋转。只有进位标志受此指令执行的影响。

助记符,操作数 操作码(十六进制) 字节数
RAR 1F 1

此指令可用于多个案例研究。

  • 旋转后,由于累加器的最低有效位被复制到累加器,因此我们可以检查其值,并可以推断累加器是否保存了偶数或奇数值。

  • 它可以用来执行除以2的操作。我们知道,如果我们将累加器除以2n,累加器的内容将右移n位。

  • 要在最高有效位插入一个新的位值,将此位值放入进位标志,然后执行此指令。

借助以下示例,我们可以更好地理解该操作。

示例1

之前 之后

(A)

8AH 45H

(Cy)

0 0

8AH --->    1000 1010
0100 0101 ---> 45H (Last bit 0 is copied to Cy bit)
                                 (And initial Cy=0 bit at the MS place)

地址 十六进制代码 助记符 注释
2004 1F RAR 累加器右移

注意累加器的值减半了。

示例2

之前 之后

(A)

8AH C5H

(Cy)

1 0

8AH --->    1000 1011
 1100 0101 --->C5H (Last bit 1 is copied to Cy bit)
                                 (And initial Cy=1 bit at the MS place)

地址 十六进制代码 助记符 注释
2003 1F RAR 累加器右移

注意,在这种情况下,累加器的值没有减半,因为旋转前Cy=1。

针对此指令RAR执行的时序图如下:

RAR

总结 - 因此,此指令RAR需要1个字节、1个机器周期(操作码提取)和4个T状态才能执行,如时序图所示。

更新于:2019年7月30日

6K+浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告