BTST
|
Tビットテスト
|
BTST
|
Bit TeST
|
【構文】
BTST src, src3
【オペレーション】
(1)src2がメモリの場合
unsigned char src2;
Z = ~(( src2 >> ( src & 7 )) & 1 );
C = (( src2 >> ( src & 7 )) & 1 );
(2)src2がレジスタの場合
register unsigned long src2;
Z = ~(( src2 >> ( src & 31 )) & 1 );
C = (( src2 >> ( src & 31 )) & 1 );
【機能】
- | rcで指定したsrc2のビットの値を反転した結果を Zフラグに、srcで指定したsrc2のビットの値をCフラグに転送します。 |
【命令フォーマット】
|
|
|
|
|
|
(1)BTST src, src2
|
|
#IMM:3
|
[Rs2].B
|
|
|
#IMM:3
|
dsp:8[Rs2].B
|
|
|
#IMM:3
|
dsp:16[Rs2].B
|
|
|
Rs
|
[Rs2].B
|
|
|
Rs
|
dsp:8[Rs2].B
|
|
|
Rs
|
dsp16:[Rs2].B
|
|
(2)BTST src, src2
|
|
#IMM:5
|
Rs2
|
|
|
Rs
|
Rs2
|
|
【フラグ変化】
条件
C:指定ビットが“1”のとき“1”、それ以外のとき“0”になります。
Z:指定ビットが“0”のとき“1”、それ以外のとき“0”になります。
【記述例】
BTST #7, [R2]
BTST R1, [R2]
BTST #31, R2
BTST R1, R2
|