SHLR
|
論理右シフト
|
SHLR
|
SHift Logical Right
|
【構文】
(1)SHLR src, dest
(2)SHLR src, src2, dest
【オペレーション】
(1)dest = ( unsigned long ) dest >> ( src & 31 );
(2)dest = ( unsigned long ) src2 >> ( src & 31 );
【機能】
- | destをsrcで指定されたビット数分、論理右シフトし、その結果をdestに格納します。 |
- | srcの値は符号なし整数です。srcの範囲は、0≦src≦31です。 |
- | srcがレジスタのとき、LSB側5ビットのみ有効です。 |
- | src2をdestに転送後、destをsrcで指定されたビット数分、論理右シフトし、その結果をdestに格納します。 |
- | srcの値は符号なし整数です。srcの範囲は、0≦src≦31です。 |
【命令フォーマット】
|
|
|
|
|
|
|
(1)SHLR src, dest
|
|
#IMM:5
|
−
|
Rd
|
|
|
Rs
|
−
|
Rd
|
|
(2)SHLR src, src2, dest
|
|
#IMM:5
|
Rs
|
Rd
|
|
【フラグ変化】
条件
C:シフトアウトしたビットが“1”のとき“1”、それ以外のとき“0”になります。ただし、srcが0のときは“0”になります。
Z:演算後のdestが0のとき“1”、それ以外のとき“0”になります。
S:演算後のdestのMSBが“1”のとき“1”、それ以外のとき“0”になります。
【記述例】
SHLR #3, R2
SHLR R1, R2
SHLR #3, R1, R2
|