32.15.1.5 ROL / ROLP命令の解説

ROL、ROLP命令を実行すると、S1のビットがS2ビット左方向にローテーションします。1ビットローテーションするたびに、左端のビット(最上位ビット)は、右端のビット(最下位ビット)にローテーションします。結果はD1に格納されます。ROL、ROLP命令は常に導通します。ROL、ROLP命令を使用する場合は、S1、D1オペランドに指定する変数の型が同じタイプでなければ、エラーとなります。S1、D1オペランドは同じ変数の型を指定してください。

定数指定の場合は下記を参照してください。

ローテーションを行うアドレスを指定します。

ローテーションするビット数を指定します。

ローテーションを行った結果を格納するアドレスを指定します。

例)1ビット左ローテーション

オペランドD1が整数変数の場合

オペランドD1が整数変数の場合でオペランドS1、S2にHEXで入力したい場合

0x(数値のゼロと小文字のx入力)を入力すると以下の値はHEX値となります。

配列指定のデータ(整数変数の配列)をローテーションする場合と配列の要素指定をする場合、同じ形式に合わせてください。

形式が違う場合はエラーとなります。

S1とD1が同じサイズの配列のときは、S1は大きな整数として扱われます。ビットは要素から次の要素へローテーションされます。

それぞれの要素の左端ビットでローテーションしません。配列全体でローテーションします。S2は0以上(32 x 配列サイズ - 1)以下にしてください。

S1とD1が両方とも配列でないときは、単純に32 ビットローテーションします。S2は0 以上31以下にしてください。