CPU > 命令セット > LDA

LDA (Load the Accumulator with Memory)

[アキュームレータに値をロード]

LDA 命令は 6502 の LDA 命令とほぼ同一です。 新しいアドレッシングモードが新機能として追加されています。 ステータスレジスタが 16 ビットメモリ/アキュームレータモード (m=0) にセットされている時、16 ビット幅でデータがロードされ、 下位バイトは指定されたアドレスから、 上位バイトは指定されたアドレス + 1 からアキュームレータにロードされます。

フラグ変化

n-----z-

n : メモリデータの最上位ビット
z : ロードしたデータが 0 の時セット

コード一覧

アドレッシングモード 文法 オペコード バイト数 命令サイクル
Immediate LDA #const A9 2* 2 1
Absolute LDA addr AD 3 4 1
Absolute Long LDA long AF 4 5 1,2
Direct Page LDA dp A5 2 3 1,2
Direct Page Indirect LDA (dp) B2 2 5 1,2
Direct Page Indirect Long LDA [dp] A7 2 6 1,2
Absolute Indexed,X LDA addr,X BD 3 4 1,3
Absolute Long Indexed,X LDA long,X BF 4 5 1
Absolute Indexed,Y LDA addr,Y B9 3 4 1,3
Direct Page Indexed,X LDA dp,X B5 2 4 1,2
Direct Page Indexed Indirect,X LDA (dp,X) A1 2 6 1,2
Direct Page Indirect Indexed,Y LDA (dp),Y B1 2 5 1,2,3
Direct Page Indirect Long Indexed,Y LDA [dp],Y B7 2 6 1,2
Stack Relative LDA sr,S A3 2 4 1
Stack Relative Indirect Indexed,Y LDA (sr,S),Y B3 2 7 1
* : m=0 (16-bit メモリ/アキュームレータ) の時、1 バイト追加
1 : m=0 (16-bit メモリ/アキュームレータ) の時、1 サイクル追加
2 : ダイレクトページレジスタの下位バイトが 0 でない時、1 サイクル追加
3 : インデックスの追加時にページ境界をまたいだ時、 1 サイクル追加
最終更新:2017年02月20日 17:40