11

我理解RCR从右到左旋转钻头的术语,从进位中取出钻头,ROR从右到左旋转钻头,从右边取出钻头,但这是它们之间的唯一区别吗?如果是这样,那么两条指令似乎都做了同样的工作。请帮忙。谢谢

4

2 回答 2

34

RCR 在轮换中包含进位标志,因此它实际上是 N+1 位轮换,而 ROR 不包含进位标志,因此它只是 N 位轮换。

来自www.c-jump.com的一些漂亮图表:

在此处输入图像描述

在此处输入图像描述

于 2012-05-01T08:04:28.090 回答
9

两条指令都从左向右旋转位(其中左侧位是 MSB)。

RCR 将进位标志轮换到 MSB,将 LSB 轮换到进位标志。

ROR 将 LSB 循环到 MSB 而不经过进位标志。

+--> CF -->  MSB --> ... -> LSB --+
|                                 |      RCR
+---------------------------------+


+-> CF      +-> MSB --> ... -> LSB --+
|           |                        |      ROR
+------------------------------------+
于 2012-05-01T08:04:35.520 回答