SBC (Subtract from Accumulator)

[アキュームレータから減算]

SBC は 6502 のものと同じように動作する。 違いは、新しいアドレッシングモードと、16 ビットアキュームレータ、 16 ビットメモリ位置が使えるようになったことだけである。 SBC と ADC の16ビットメモリ/アキュームレータモードは、 65816 の使い勝手を大幅に向上させる。 プログラマは、8 ビットモードの代わりに 16 ビットモードを使用したとき、 どれほど加算・減算が速くなったかを簡単に知ることができる。

フラグ変化

nv----zc

n : 結果の最上位ビットの値
v : サインドオーバーフローがあった時セット
z : 結果が 0 の時セット
c : 符号無しボロー (桁下がり) が必要ない時セット

コード一覧

アドレッシングモード文法オペコードバイト数命令サイクル
ImmediateSBC #constE92*21
AbsoluteSBC addrED341
Absolute LongSBC longEF451
Direct PageSBC dpE5231,2
Direct Page IndirectSBC (dp)F2251,2
Direct Page Indirect LongSBC [dp]E7261,2
Absolute Indexed,XSBC addr,XFD341,3
Absolute Long Indexed,XSBC long,XFF451
Absolute Indexed,YSBC addr,YF9341,3
Direct Page Indexed,XSBC dp,XF5241,2
Direct Page Indexed Indirect,XSBC (dp,X)E1261,2
Direct Page Indirect Indexed,YSBC (dp),YF1251,2,3
Direct Page Indirect Long Indexed,YSBC [dp],YF7261,2
Stack RelativeSBC sr,SE3241
Stack Relative Indirect Indexed,YSBC (sr,S),YF3271

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


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