We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

LDA

From SnesLab
Revision as of 06:36, 22 August 2024 by Xetheria (talk | contribs) (deindented headers)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Basic Info
Addressing Mode Opcode Length Speed
Immediate A9 2/3 bytes 2 cycles*
Absolute AD 3 bytes 4 cycles*
Absolute Long AF 4 bytes 5 cycles*
Direct Page A5 2 bytes 3 cycles*
Direct Page Indirect B2 2 bytes 5 cycles*
Direct Page Indirect Long A7 2 bytes 6 cycles*
Absolute Indexed by X BD 3 bytes 4 cycles*
Absolute Long Indexed by X BF 4 bytes 5 cycles*
Absolute Indexed by Y B9 3 bytes 4 cycles*
Direct Page Indexed by X B5 2 bytes 4 cycles*
Direct Page Indexed Indirect by X A1 2 bytes 6 cycles*
Direct Page Indirect Indexed by Y B1 2 bytes 5 cycles*
Direct Page Indirect Long Indexed by Y B7 2 bytes 6 cycles*
Stack Relative A3 2 bytes 4 cycles*
Stack Relative Indirect Indexed by Y B3 2 bytes 7 cycles*
Flags Affected
N V M X D I Z C
N . . . . . Z .

LDA (LoaD Accumulator) is a 65x instruction that loads a value into the accumulator. In immediate addressing only, LDA is a total of 3 bytes long when the accumulator is 16 bits wide.

Syntax

LDA #const
LDA addr
LDA long
LDA dp
LDA (dp)
LDA [dp]
LDA addr, X
LDA long, X
LDA addr, Y
LDA dp, X
LDA (dp, X)
LDA (dp), Y
LDA [dp], Y
LDA sr, S
LDA (sr, S), Y

If you want to load zero into the accumulator, TDC may be a better choice, but only if the direct page register is zero.

Cycle Penalties

See Also

External Links