Page 3 of 3
Re: 65020
Posted: Tue Feb 11, 2025 9:51 am
by AndrewP
There's no offset register, because there are no non-indexed addressing modes (except for JMP and JSR, which are obsolete with the extensions to the branch instructions). The 6502's zero page and absolute non-indexed modes have been re-interpreted as indexed, but with a default index register that's always zero.
I think I'm understanding you but just to be sure the final effective address of the Indexed modes are:
Indexed

- Indexed.png (4.56 KiB) Viewed 1640 times
Indexed Indirect

- Indexed Indirect.png (5.41 KiB) Viewed 1640 times
Indirect Indexed

- Indirect Indexed.png (4.82 KiB) Viewed 1640 times
Re: 65020
Posted: Tue Feb 11, 2025 3:19 pm
by John West
I think I'm understanding you but just to be sure the final effective address of the Indexed modes are:
That's exactly right.
I haven't used the indirect modes in real code yet; just for testing that they work. They're useful on the 6502 because they're the only way to have a variable address that can point to anywhere. Now that I can put the address in a register, 16-bit-address + register is the only mode I use most of the time. (a16,X) and (a16), Y are only there for compatibility.
The indirect branches, however, are useful. Sometimes you need a jump table.