BIT 命令 (Test Memory Bits against Accumulator)
メモリビットのテストを行います。

BIT オーバーロード
オペコード 構文 アドレッシングモード バイト数 命令サイクル
89
BIT #const
Imm.
2/ 3
2
1, 4
24
BIT dp
DP.
2
3
1, 2
34
BIT dp, X
DP. Idx X
2
4
1, 2
2C
BIT abs
Abs.
3
4
1
3C
BIT abs, X
Abs. Idx X
3
4
1, 3


1. メモリモードフラグクリア時は1サイクル追加
2. ダイレクトページの開始アドレスがページ境界になっていない場合1サイクル追加
3. インデクス加算時にページ境界を超える場合は1サイクル追加
4. メモリモードフラグクリア時は3バイト。メモリモードフラグセット時は2バイト。
 
フラグ変化
nv----z-

n: メモリのMSBがセットされる(注
v: メモリの上から2番目のビット(ビット6またはビット14)がセットされる(注
z: 結果が0の場合にセットされ、それ以外の場合はクリアされる


BIT #const 命令の場合は、N,Vフラグは変更されず、Zフラグのみがテストされる。

解説
BIT命令はアキュムレータと指定されたメモリの間での論理積を計算し、その結果に基づいてステータスフラグのみを変更します。演算結果に関わらず、メモリとアキュムレータの値は変更されません。
この命令はメモリのビットテストに非常に便利です。アキュムレータやメモリの状態を変更しないため、BIT命令によって、複数のデータを同じ条件で効率的にテストすることが可能です。

参照