8085 微处理器中累加器旋转指令
在 8085 指令集中,有一组指令可以将累加器的内容向左或向右旋转。需要注意的是,旋转操作只能对累加器的内容执行。这些指令集列在下面:
助记符,操作数 | 操作码(十六进制) | 字节数 |
---|---|---|
RAL | 17 | 1 |
RAR | 1F | 1 |
RLC | 07 | 1 |
RRC | 0F | 1 |
助记符 **RLC** 代表“累加器左移旋转”。它将累加器的内容向左旋转 1 位。下图明确显示了此操作:
在此图中,它描绘了累加器的最高有效位将移出,左移旋转将在最低有效位处创建一个空位,并且这个移出的位将被复制到空位以及标志寄存器中的 Cy 位上。因此,Cy 标志获取从 MS 位位置移出的位的副本。请注意,Cy 标志不参与旋转,它只是累加器内容的 8 位旋转。只有 Cy 标志受此指令执行的影响。
助记符 **RAL** 代表“累加器左移旋转”,并且还涉及 Cy 标志参与旋转。它将累加器的内容向左旋转 1 位。下图描绘了指令的执行逻辑。
从图中我们可以看到,由于左移旋转,从最高有效位移出的位将被复制到 Cy 标志位。而之前的 Cy 位将被移到累加器的最低有效位位置。因此,它是累加器和 Cy 内容的 9 位旋转。只有 Cy 标志受此指令执行的影响。
助记符 **RRC** 代表“累加器右移旋转”。借助此指令,我们可以将累加器的当前内容向右旋转 1 位。下图将描绘旋转操作:
在此右移旋转中,最低有效位将从累加器移出,并将被复制到标志寄存器中的 Cy 位,并将被复制到累加器的最高有效位位置。请注意,Cy 标志不参与旋转,它只是累加器内容的 8 位旋转。只有 Cy 标志受此指令执行的影响。
助记符 **RAR** 代表“累加器右移旋转,涉及 Cy 标志参与旋转”。它将累加器的内容向右旋转 1 位。从下图中,我们获得了操作细节:
从图中我们可以看到,在右移旋转期间,最低有效位移出并被复制到 Cy 标志位,而之前的 Cy 标志位将被移到累加器的最高有效位位置。它是一个 1 字节指令。并且它是累加器和 Cy 内容的 9 位旋转。只有 Cy 标志受此指令执行的影响。