CPU > 命令セット > CPX

CPX (Compare X Index register with Memory)

[Xレジスタとメモリ比較]

インデックスレジスタとメモリを比較し、 その結果に応じてステータスレジスタの内容を変更する。 インデックスレジスタとメモリの内容は変更されない。 比較には減算が利用される (インデックスレジスタ - メモリの値)。

16 ビットインデックスレジスタモードの時 (x=0)、 16 ビット幅でデータを扱う。 下位バイトは実効アドレスに、上位バイトは実効アドレス + 1 に入れる。

フラグ変化

n-----zc

n : 結果の最上位ビットの値
z : 結果が 0 の時セット
c : ボロー (桁下がり) が必要無い時セット (X >= メモリ)
    ボローが必要な時はセットしない (X < メモリ)

コード一覧

アドレッシングモード 文法 オペコード バイト数 命令サイクル
Immediate CPX #const E0 2* 2 1
Absolute CPX addr EC 3 4 1
Direct Page CPX dp E4 2 3 1,2
* : x=0 (16-bit インデックスレジスタ) の時 1 バイト増加
1 : x=0 (16-bit インデックスレジスタ) の時 1 サイクル増加
2 : ダイレクトページレジスタの下位バイトが 0 でない場合 1 サイクル増加
最終更新:2017年02月20日 17:46