CPU > 命令セット > CPY

CPY (Compare Y Index register with Memory)

[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 サイクル増加
最終更新:2017年02月20日 17:42