This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
mg_notes:65816_notes:addressing_modes [2019/06/24 16:00] M.G. split simple branches and jumps to their own table |
mg_notes:65816_notes:addressing_modes [2019/06/24 19:26] M.G. |
||
---|---|---|---|
Line 36: | Line 36: | ||
^ Basic Stack Access ^^^^ | ^ Basic Stack Access ^^^^ | ||
^ Mode ^ Operand Size ^ Base Address ^ Effective Address \\ wrap to 00xxxx ^ | ^ Mode ^ Operand Size ^ Base Address ^ Effective Address \\ wrap to 00xxxx ^ | ||
- | | Stack {push, pull} | 0 | 00SSSS | base+0 | | + | | Stack {push, pull} | 0 | | 00SSSS (before decrement/after increment) | |
| Stack,S | 1 | 00SSSS | base+operand | | | Stack,S | 1 | 00SSSS | base+operand | | ||
Line 46: | Line 46: | ||
^ Mode ^ Operand Size ^ Pointer Base Address ^ Pointer EA ^ Pointer Size ^ Target Base ^ Target EA ^ | ^ Mode ^ Operand Size ^ Pointer Base Address ^ Pointer EA ^ Pointer Size ^ Target Base ^ Target EA ^ | ||
| (Absolute) {JMP} | 2 | KK0000 | base+operand | 2 | KK0000 | base+pointer, wrap to KKxxxx | | | (Absolute) {JMP} | 2 | KK0000 | base+operand | 2 | KK0000 | base+pointer, wrap to KKxxxx | | ||
- | | (Absolute,X) {JMP} | 2 | KK0000 | base+operand+X | 2 | KK0000 | base+pointer, wrap to KKxxxx | | + | | (Absolute,X) {JMP, JSR} | 2 | KK0000 | base+operand+X | 2 | KK0000 | base+pointer, wrap to KKxxxx | |
| [Absolute] {JML} | 2 | KK0000 | base+operand | 3 | | pointer | | | [Absolute] {JML} | 2 | KK0000 | base+operand | 3 | | pointer | | ||
^ Direct Page Indirect ^^^^^^^ | ^ Direct Page Indirect ^^^^^^^ | ||
- | ^ Mode ^ Operand Size ^ Pointer Base Address \\ wrap to 00xxxx ^ Pointer EA ^ Pointer Size ^ Target Base ^ Target EA ^ | + | ^ Mode ^ Operand Size ^ Pointer Base Address ^ Pointer EA \\ wrap to 00xxxx ^ Pointer Size ^ Target Base ^ Target EA ^ |
| (Direct) | 1 | 00DDDD | base+operand | 2 | BB0000 | base+pointer | | | (Direct) | 1 | 00DDDD | base+operand | 2 | BB0000 | base+pointer | | ||
| (Direct,X) | 1 | 00DDDD | base+operand+X | 2 | BB0000 | base+pointer | | | (Direct,X) | 1 | 00DDDD | base+operand+X | 2 | BB0000 | base+pointer | |