[Yレジスタとメモリ比較]
インデックスレジスタとメモリを比較し、 その結果に応じてステータスレジスタの内容を変更する。 インデックスレジスタとメモリの内容は変更されない。 比較には減算が利用される (インデックスレジスタ - メモリの値)。
16 ビットインデックスレジスタモードの時 (x=0)、 16 ビット幅でデータを扱う。 下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。
フラグ変化
n-----zc n : 結果の最上位ビットの値 z : 結果が 0 の時セット c : ボロー (桁下がり) が必要無い時セット (Y >= メモリ) ボローが必要な時はセットしない (Y < メモリ)
コード一覧
アドレッシングモード | 文法 | オペコード | バイト数 | 命令サイクル | 注 |
Immediate | CPY #const | C0 | 2* | 2 | 1 |
Absolute | CPY addr | CC | 3 | 4 | 1 |
Direct Page | CPY dp | C4 | 2 | 3 | 1,2 |
* : x=0 (16-bit インデックスレジスタ) の時 1 バイト増加 1 : x=0 (16-bit インデックスレジスタ) の時 1 サイクル増加 2 : ダイレクトページレジスタの下位バイトが 0 でない場合 1 サイクル増加