「CPU/命令セット/AND」の編集履歴(バックアップ)一覧はこちら
CPU/命令セット/AND - (2017/02/20 (月) 17:52:54) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
***AND (And Accumulator with Memory) [#mc0dcc61]
[アキュームレータとメモリの論理積]
オペランドで指定した実効アドレスのデータと
アキュームレータを使って論理積を実行する。
16 ビットアキュームレータモードの時 (m=0)、
16 ビット幅でデータを取得する。
下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。
''フラグ変化''
n-----z-
n : 結果の最上位ビットがセットされている時、セットする
z : 結果が 0 の時セット
''コード一覧''
|アドレッシングモード|文法|オペコード|バイト数|命令サイクル|注|h
|[[Immediate>CPU/アドレッシングモード/Immediate]]|AND #const|29|2*|2 | 1|
|[[Absolute>CPU/アドレッシングモード/Absolute]]|AND addr|2D|3|4 | 1|
|[[Absolute Long>CPU/アドレッシングモード/Absolute Long]]|AND long|2F|4|5 | 1|
|[[Direct Page>CPU/アドレッシングモード/Direct Page]]|AND dp|25|2|3 | 1,2|
|[[Direct Page Indirect>CPU/アドレッシングモード/Direct Page Indirect]]|AND (dp)|32|2|5 | 1,2|
|[[Direct Page Indirect Long>CPU/アドレッシングモード/Direct Page Indirect Long]]|AND [dp]|27|2|6 | 1,2|
|[[Absolute Indexed,X>CPU/アドレッシングモード/Absolute Indexed,X]]|AND addr,X|3D|3|4 | 1,3|
|[[Absolute Long Indexed,X>CPU/アドレッシングモード/Absolute Long Indexed,X]]|AND long,X|3F|4|5 | 1|
|[[Absolute Indexed,Y>CPU/アドレッシングモード/Absolute Indexed,Y]]|AND addr,Y|39|3|4 | 1,3|
|[[Direct Page Indexed,X>CPU/アドレッシングモード/Direct Page Indexed,X]]|AND dp,X|35|2|4 | 1,2|
|[[Direct Page Indexed Indirect,X>CPU/アドレッシングモード/Direct Page Indexed Indirect,X]]|AND (dp,X)|21|2|6 | 1,2|
|[[Direct Page Indirect Indexed,Y>CPU/アドレッシングモード/Direct Page Indirect Indexed,Y]]|AND (dp),Y|31|2|5 | 1,2,3|
|[[Direct Page Indirect Long Indexed,Y>CPU/アドレッシングモード/Direct Page Indirect Long Indexed,Y]]|AND [dp],Y|37|2|6 | 1,2|
|[[Stack Relative>CPU/アドレッシングモード/Stack Relative]]|AND sr,S|23|2|4 | 1|
|[[Stack Relative Indirect Indexed,Y>CPU/アドレッシングモード/Stack Relative Indirect Indexed,Y]]|AND (sr,S),Y|33|2|7 | 1|
* : m=0 (16-bit メモリ/アキュームレータ) の時 1 バイト増加
1 : m=0 (16-bit メモリ/アキュームレータ) の時 1 サイクル増加
2 : ダイレクトページレジスタの下位バイトが 0 でない場合 1 サイクル増加
3 : インデックスがページ境界をまたいだ場合 1 サイクル増加
***AND (And Accumulator with Memory) [#mc0dcc61]
[アキュームレータとメモリの論理積]
オペランドで指定した実効アドレスのデータと
アキュームレータを使って論理積を実行する。
16 ビットアキュームレータモードの時 (m=0)、
16 ビット幅でデータを取得する。
下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。
''フラグ変化''
n-----z-
n : 結果の最上位ビットがセットされている時、セットする
z : 結果が 0 の時セット
''コード一覧''
|アドレッシングモード|文法|オペコード|バイト数|命令サイクル|注|h
|[[Immediate>CPU/アドレッシングモード/Immediate]]|AND #const|29|2*|2 | 1|
|[[Absolute>CPU/アドレッシングモード/Absolute]]|AND addr|2D|3|4 | 1|
|[[Absolute Long>CPU/アドレッシングモード/Absolute Long]]|AND long|2F|4|5 | 1|
|[[Direct Page>CPU/アドレッシングモード/Direct Page]]|AND dp|25|2|3 | 1,2|
|[[Direct Page Indirect>CPU/アドレッシングモード/Direct Page Indirect]]|AND (dp)|32|2|5 | 1,2|
|[[Direct Page Indirect Long>CPU/アドレッシングモード/Direct Page Indirect Long]]|AND [dp]|27|2|6 | 1,2|
|[[Absolute Indexed,X>CPU/アドレッシングモード/Absolute Indexed,X]]|AND addr,X|3D|3|4 | 1,3|
|[[Absolute Long Indexed,X>CPU/アドレッシングモード/Absolute Long Indexed,X]]|AND long,X|3F|4|5 | 1|
|[[Absolute Indexed,Y>CPU/アドレッシングモード/Absolute Indexed,Y]]|AND addr,Y|39|3|4 | 1,3|
|[[Direct Page Indexed,X>CPU/アドレッシングモード/Direct Page Indexed,X]]|AND dp,X|35|2|4 | 1,2|
|[[Direct Page Indexed Indirect,X>CPU/アドレッシングモード/Direct Page Indexed Indirect,X]]|AND (dp,X)|21|2|6 | 1,2|
|[[Direct Page Indirect Indexed,Y>CPU/アドレッシングモード/Direct Page Indirect Indexed,Y]]|AND (dp),Y|31|2|5 | 1,2,3|
|[[Direct Page Indirect Long Indexed,Y>CPU/アドレッシングモード/Direct Page Indirect Long Indexed,Y]]|AND [dp],Y|37|2|6 | 1,2|
|[[Stack Relative>CPU/アドレッシングモード/Stack Relative]]|AND sr,S|23|2|4 | 1|
|[[Stack Relative Indirect Indexed,Y>CPU/アドレッシングモード/Stack Relative Indirect Indexed,Y]]|AND (sr,S),Y|33|2|7 | 1|
* : m=0 (16-bit メモリ/アキュームレータ) の時 1 バイト増加
1 : m=0 (16-bit メモリ/アキュームレータ) の時 1 サイクル増加
2 : ダイレクトページレジスタの下位バイトが 0 でない場合 1 サイクル増加
3 : インデックスがページ境界をまたいだ場合 1 サイクル増加