ADC (Add with carry)

[キャリー付き加算]

16 ビットアキュームレータモードの時、 キャリーは操作によって生成された時、 7 ビット目から 8 ビット目へ 適切に移動されるだろう (すなわち、$FF+4 = $0103 の $01 は アキュームレータの上位バイトへ、$03 は下位バイトへ入る)。 なので、キャリーは下位バイトが加算された時にクリアされる必要がある。 8 ビットアキュームレータモードと同様に、手動で 15 ビット目の上にキャリーがないかチェックする必要がある。

16 ビットモードの時、下位バイトが実効アドレスに置かれる。 上位バイトは、実行アドレス + 1 に置かれる。

フラグ変化

nv----zc

n : 結果の最上位ビット
v : サインドオーバーフローがあった時 1
z : 結果が 0 の時 1
c : オーバーフローした時 1

コード一覧

アドレッシングモード文法オペコードバイト数命令サイクル
ImmediateADC #const692*21
AbsoluteADC addr6D341
Absolute LongADC long6F451
Direct PageADC dp65231,2
Direct Page IndirectADC (dp)72251,2
Direct Page Indirect LongADC [dp]67261,2
Absolute Indexed,XADC addr,X7D341,3
Absolute Long Indexed,XADC long,X7F451
Absolute Indexed,YADC addr,Y79341,3
Direct Page Indexed,XADC dp,X75241,2
Direct Page Indexed Indirect,XADC (dp,X)61261,2
Direct Page Indirect Indexed,YADC (dp),Y71251,2,3
Direct Page Indirect Long Indexed,YADC [dp],Y77261,2
Stack RelativeADC sr,S63241
Stack Relative Indirect Indexed,YADC (sr,S),Y73271

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


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