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: Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎External Links: hid archive URL for MCS)
(consider TDC when accumulator is zero)
Line 125: Line 125:
LDA (sr, S), Y
LDA (sr, S), Y
</pre>
</pre>
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 =====
===== Cycle Penalties =====

Revision as of 01:00, 10 August 2024

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