8085微处理器中的RAR指令
在8085指令集中,RAR代表“带进位标志的累加器右移”。它将累加器内容向右旋转1位。从下图中,我们可以了解操作细节。
从图中可以看出,在右移过程中,最低有效位将移出并复制到进位标志位,而之前的进位标志位将移到累加器的最高有效位。这是一个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需要1个字节、1个机器周期(操作码提取)和4个T状态才能执行,如时序图所示。
广告