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] (current) 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 | | ||