CMP (Compare Accumulator with Memory)

[アキュームレータとメモリ比較]

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

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

フラグ変化

n-----zc

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

コード一覧

アドレッシングモード文法オペコードバイト数命令サイクル
ImmediateCMP #constC92*21
AbsoluteCMP addrCD341
Absolute LongCMP longCF451
Direct PageCMP dpC5231,2
Direct Page IndirectCMP (dp)D2251,2
Direct Page Indirect LongCMP [dp]C7261,2
Absolute Indexed,XCMP addr,XDD341,3
Absolute Long Indexed,XCMP long,XDF271
Absolute Indexed,YCMP addr,YD9341,3
Direct Page Indexed,XCMP dp,XD5241,2
Direct Page Indexed Indirect,XCMP (dp,X)C1261,2
Direct Page Indirect Indexed,YCMP (dp),YD1251,2,3
Direct Page Indirect Long Indexed,YCMP [dp],YD7261,2
Stack RelativeCMP sr,SC3241
Stack Relative Indirect Indexed,YCMP (sr,S),YD3271

* : m=0 (16-bit メモリ/アキュームレータ) の時 1 バイト増加 1 : m=0 (16-bit メモリ/アキュームレータ) の時 1 サイクル増加 2 : ダイレクトページレジスタの下位バイトが 0 でない場合 1 サイクル増加 3 : インデックスがページ境界をまたいだ場合 1 サイクル増加


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-10-27 (日) 15:52:56 (2448d)