It is nice to have 65816 MPU when ORA, AND, EOR, ADC, STA, LDA, CMP, and SBC instructions have Long Absolute Address and Long Absolute Address Index on $XF.
I wonder why the designer of 65816 MPU decided not to put Long Absolute Address on ASL, ROL, LSR, ROR, INC, and DEC because they might do not have enough 8-bit instruction available. All of them are
R-M-W.
It is annoying when I want R-M-W instructions to modify data outside of bank $00. It is the only way is to push bank $00 into stack and sets new bank to data bank register and then pulls it out of stack. Now, bank $01, $02, ...etc can work to use R-M-W instructions.
Do you have example code how R-M-W instructions can be used to all 256 banks without using Long Absolute Address? I hate to push and pull data into and from stack.
Bryan Parkoff
|