「CPU/命令セット/TSB」の編集履歴(バックアップ)一覧はこちら
CPU/命令セット/TSB - (2017/02/20 (月) 17:51:10) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
***TSB (Test and Set Memory Bits) [#n973995f]
[メモリビットのテストとセット]
TSB はアキュームレータと実効アドレスのデータで OR 演算を行う。
結果はメモリの場所に書き戻される。
ステータスレジスタのゼロフラグは、アキュームレータとメモリ値を
AND 演算した結果が入る ([[BIT>CPU/命令セット/BIT]] 命令と同じ)。
16 ビットアキュームレータモードの時 (m=0)、
16 ビット幅でデータを扱う。
下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。
''フラグ変化''
------z-
z : アキュームレータとメモリを AND した結果が 0 の時セット
''コード一覧''
|アドレッシングモード|文法|オペコード|バイト数|命令サイクル|注|h
|[[Absolute>CPU/アドレッシングモード/Absolute]]|TSB addr|0C|3|6 | 1|
|[[Direct Page>CPU/アドレッシングモード/Direct Page]]|TSB dp|04|2|5 | 1,2|
1 : m=0 (16-bit メモリ/アキュームレータ) の時 2 サイクル増加
2 : ダイレクトページレジスタの下位バイトが 0 でない場合 1 サイクル増加
***TSB (Test and Set Memory Bits) [#n973995f]
[メモリビットのテストとセット]
TSB はアキュームレータと実効アドレスのデータで OR 演算を行う。
結果はメモリの場所に書き戻される。
ステータスレジスタのゼロフラグは、アキュームレータとメモリ値を
AND 演算した結果が入る ([[BIT>CPU/命令セット/BIT]] 命令と同じ)。
16 ビットアキュームレータモードの時 (m=0)、
16 ビット幅でデータを扱う。
下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。
''フラグ変化''
------z-
z : アキュームレータとメモリを AND した結果が 0 の時セット
''コード一覧''
|アドレッシングモード|文法|オペコード|バイト数|命令サイクル|注|h
|[[Absolute>CPU/アドレッシングモード/Absolute]]|TSB addr|0C|3|6 | 1|
|[[Direct Page>CPU/アドレッシングモード/Direct Page]]|TSB dp|04|2|5 | 1,2|
1 : m=0 (16-bit メモリ/アキュームレータ) の時 2 サイクル増加
2 : ダイレクトページレジスタの下位バイトが 0 でない場合 1 サイクル増加