Why are the X and Y index registers 8-bit?

Viewed 174

I have been trying to get into 6502 programming, and something isn't adding up. If it has a 16-bit address space, why are the X and Y index registers 8-bit? Are they used in tandem, where X is the lower byte and Y is the higher byte of the address? If so how would that work?

1 Answers

So I thought about and the answer is simpler than I thought. The index registers simply add to the base address (so LDA $0200, X will add X to 0x0200). If one wants to use a larger index register they can use indirect addressing. :)

Related