[メモリビットのテスト]
アキュームレータとメモリで AND 演算を行い、 ステータスフラグだけを変更する。 アキュームレータとメモリの値は変更されない。
プロセッサが 8 ビットモードの時は、 6 ビット目と 7 ビット目がステータスフラグにセットされ、 16 ビットモードの時は、14 ビット目と 15 ビット目がセットされる。
フラグ変化
nv----z- (アドレッシングモードが Immediate でない時) ------z- (アドレッシングモードが Immediate の時のみ) n : メモリデータの最上位ビットの値 v : メモリデータの 6 ビット目か 14 ビット目の値 z : メモリとアキュームレータを AND した結果が 0 の時セット
コード一覧
アドレッシングモード | 文法 | オペコード | バイト数 | 命令サイクル | 注 |
Immediate | BIT #const | 89 | 2* | 2 | 1 |
Absolute | BIT addr | 2C | 3 | 4 | 1 |
Direct Page | BIT dp | 24 | 2 | 3 | 1,2 |
Absolute Indexed,X | BIT addr,X | 3C | 3 | 4 | 1,3 |
Direct Page Indexed,X | BIT dp,X | 34 | 2 | 4 | 1,2 |
* : m=0 (16-bit メモリ/アキュームレータ) の時 1 バイト増加 1 : m=0 (16-bit メモリ/アキュームレータ) の時 1 サイクル増加 2 : ダイレクトページレジスタの下位バイトが 0 でない場合 1 サイクル増加 3 : インデックスがページ境界をまたいだ場合 1 サイクル増加