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 サイクル追加