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 に答える