「CPU/命令セット/BIT」の編集履歴(バックアップ)一覧はこちら
CPU/命令セット/BIT - (2017/02/20 (月) 17:16:17) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
***BIT (Test Memory Bits against Accumulator) [#d11c41c0]
[メモリビットのテスト]
アキュームレータとメモリで AND 演算を行い、
ステータスフラグだけを変更する。
アキュームレータとメモリの値は変更されない。
プロセッサが 8 ビットモードの時は、
6 ビット目と 7 ビット目がステータスフラグにセットされ、
16 ビットモードの時は、14 ビット目と 15 ビット目がセットされる。
''フラグ変化''
nv----z- (アドレッシングモードが Immediate でない時)
------z- (アドレッシングモードが Immediate の時のみ)
n : メモリデータの最上位ビットの値
v : メモリデータの 6 ビット目か 14 ビット目の値
z : メモリとアキュームレータを AND した結果が 0 の時セット
''コード一覧''
|アドレッシングモード|文法|オペコード|バイト数|命令サイクル|注|h
|[[Immediate>CPU/アドレッシングモード/Immediate]]|BIT #const|89|2*|2 | 1|
|[[Absolute>CPU/アドレッシングモード/Absolute]]|BIT addr|2C|3|4 | 1|
|[[Direct Page>CPU/アドレッシングモード/Direct Page]]|BIT dp|24|2|3 | 1,2|
|[[Absolute Indexed,X>CPU/アドレッシングモード/Absolute Indexed,X]]|BIT addr,X|3C|3|4 | 1,3|
|[[Direct Page Indexed,X>CPU/アドレッシングモード/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 サイクル増加
***BIT (Test Memory Bits against Accumulator) [#d11c41c0]
[メモリビットのテスト]
アキュームレータとメモリで AND 演算を行い、
ステータスフラグだけを変更する。
アキュームレータとメモリの値は変更されない。
プロセッサが 8 ビットモードの時は、
6 ビット目と 7 ビット目がステータスフラグにセットされ、
16 ビットモードの時は、14 ビット目と 15 ビット目がセットされる。
''フラグ変化''
nv----z- (アドレッシングモードが Immediate でない時)
------z- (アドレッシングモードが Immediate の時のみ)
n : メモリデータの最上位ビットの値
v : メモリデータの 6 ビット目か 14 ビット目の値
z : メモリとアキュームレータを AND した結果が 0 の時セット
''コード一覧''
|アドレッシングモード|文法|オペコード|バイト数|命令サイクル|注|h
|[[Immediate>CPU/アドレッシングモード/Immediate]]|BIT #const|89|2*|2 | 1|
|[[Absolute>CPU/アドレッシングモード/Absolute]]|BIT addr|2C|3|4 | 1|
|[[Direct Page>CPU/アドレッシングモード/Direct Page]]|BIT dp|24|2|3 | 1,2|
|[[Absolute Indexed,X>CPU/アドレッシングモード/Absolute Indexed,X]]|BIT addr,X|3C|3|4 | 1,3|
|[[Direct Page Indexed,X>CPU/アドレッシングモード/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 サイクル増加