ROTR
|
右回転
|
ROTR
|
ROTate Right
|
【構文】
ROTR src, dest
【オペレーション】
unsigned long tmp0, tmp1;
tmp0 = src & 31;
tmp1 = ( unsigned long ) dest >> tmp0;
dest = ( dest << ( 32 - tmp0 )) | tmp1;
【機能】
- | destをsrcで指定されたビット数分だけ右回転します。LSBから溢れたビットはMSBとCフラグに転送します。 |
- | srcの値は符号なし整数です。srcの範囲は、0≦src≦31です。 |
- | srcがレジスタのとき、LSB側5ビットのみ有効です。 |
【命令フォーマット】
|
|
|
|
|
|
ROTR src, dest
|
|
#IMM:5
|
Rd
|
|
|
Rs
|
Rd
|
|
【フラグ変化】
条件
C:演算後のdestのMSBと同じになります。srcが0のときも、演算後のdestのMSBと同じになります。
Z:演算後のdestが0のとき“1”、それ以外のとき“0”になります。
S:演算後のdestのMSBが“1”のとき“1”、それ以外のとき“0”になります。
【記述例】