This the multi-page printable view of this section.Click here to print.

Return to the regular view of this page.

LDA

Load Accumulator from Memory

Table of Contents

Load the accumulator with data from memory.

On all processors, the data loaded from memory is 8-bit. However, for 16-bit processors with the m flag is clear then the data added is 16-bit with the low-order 8-bits at the effective address and the high-order 8-bits at the effective address plus one.

Flags Affected
Flags
n-----z-
nSet if most-significant bit of result is set
zSet if result is zero
Instructions
SyntaxOpcode Available on: # of # of Addressing Mode
(hex) 6502 65C02 65816 bytes cycles
LDA #constA9 x x x 21 22 Immediate
LDA addrAD x x x 3 42 Absolute
LDA longAF x 4 52 Absolute Long
LDA dpA5 x x x 2 32, 3 Direct Page
LDA (dp)B2 x x 2 52, 3 Direct Page Indirect
LDA [dp]A7 x 2 62, 3 Direct Page Indirect Long
LDA addr,XBD x x x 3 42, 4 Absolute Indexed X
LDA long,XBF x 4 52 Absolute Long Indexed X
LDA addr,YB9 x x x 3 42, 4 Absolute Indexed Y
LDA dp,XB5 x x x 2 42, 3 Direct Page Indexed X
LDA (dp,X)A1 x x x 2 62, 3 Direct Page Indexed Indirect X
LDA (dp),YB1 x x x 2 52, 3, 4 Direct Page Indirect Indexed Y
LDA [dp],YB7 x 2 62, 3 Direct Page Indirect Long Indexed Y
LDA sr,SA3 x 2 42 Stack Relative
LDA (sr,S),YB3 x 2 72 Stack Relative Indirect Indexed Y

Notes:

  1. 65816: Add 1 byte if m=0 (16-bit memory/accumulator)
  2. 65816: Add 1 cycle if m=0 (16-bit memory/accumulator)
  3. 65816: Add 1 cycle if low byte of Direct Page register is not 0
  4. Add 1 cycle if adding index crosses a page boundary