Bryan Parkoff wrote:
I reviewed 65816 programming manual. It does say both program counter bank register and 16-bit program counter register can be stored in effective address. Sixteen bit program counter register is always wrapped back to $0000 from $FFFF, but it cannot increment program counter bank register. Only long JMP and JSR are used if you want your code to cross between bank boundaries. Correct?
That's correct.
Bryan Parkoff wrote:
What about data bank register and absolute address to be stored in effective address? If $00/FFFF is incremented, then $FFFF on absolute address is wrapped back to $0000 ***AND*** data bank register is incremented once.
For example:
00/2000: LDA $FFFF // 16-bit mode is turned on
Low byte of accumulator will be loaded from $00/FFFF and high byte of accumulator will be loaded from $01/0000. It does the same with absolute indexed X/Y address when it can be indexed across bank boundary. (I do not talk about long absolute address and long absolute indexed X/Y address.)
You're not making any sense, to me at any rate.