[アキュームレータから減算]
SBC は 6502 のものと同じように動作する。 違いは、新しいアドレッシングモードと、16 ビットアキュームレータ、 16 ビットメモリ位置が使えるようになったことだけである。 SBC と ADC の16ビットメモリ/アキュームレータモードは、 65816 の使い勝手を大幅に向上させる。 プログラマは、8 ビットモードの代わりに 16 ビットモードを使用したとき、 どれほど加算・減算が速くなったかを簡単に知ることができる。
フラグ変化
nv----zc n : 結果の最上位ビットの値 v : サインドオーバーフローがあった時セット z : 結果が 0 の時セット c : 符号無しボロー (桁下がり) が必要ない時セット
コード一覧
アドレッシングモード | 文法 | オペコード | バイト数 | 命令サイクル | 注 |
Immediate | SBC #const | E9 | 2* | 2 | 1 |
Absolute | SBC addr | ED | 3 | 4 | 1 |
Absolute Long | SBC long | EF | 4 | 5 | 1 |
Direct Page | SBC dp | E5 | 2 | 3 | 1,2 |
Direct Page Indirect | SBC (dp) | F2 | 2 | 5 | 1,2 |
Direct Page Indirect Long | SBC [dp] | E7 | 2 | 6 | 1,2 |
Absolute Indexed,X | SBC addr,X | FD | 3 | 4 | 1,3 |
Absolute Long Indexed,X | SBC long,X | FF | 4 | 5 | 1 |
Absolute Indexed,Y | SBC addr,Y | F9 | 3 | 4 | 1,3 |
Direct Page Indexed,X | SBC dp,X | F5 | 2 | 4 | 1,2 |
Direct Page Indexed Indirect,X | SBC (dp,X) | E1 | 2 | 6 | 1,2 |
Direct Page Indirect Indexed,Y | SBC (dp),Y | F1 | 2 | 5 | 1,2,3 |
Direct Page Indirect Long Indexed,Y | SBC [dp],Y | F7 | 2 | 6 | 1,2 |
Stack Relative | SBC sr,S | E3 | 2 | 4 | 1 |
Stack Relative Indirect Indexed,Y | SBC (sr,S),Y | F3 | 2 | 7 | 1 |
注
* : m=0 (16-bit メモリ/アキュームレータ) の時 1 バイト増加 1 : m=0 (16-bit メモリ/アキュームレータ) の時 1 サイクル増加 2 : ダイレクトページレジスタの下位バイトが 0 でない場合 1 サイクル増加 3 : インデックスがページ境界をまたいだ場合 1 サイクル増加