add more explanations of byte sequences
This commit is contained in:
1 parent
e63b978137
commit
3957a92f44
10 files changed
+108
No files matched your search
@@ -0,0 +1,15 @@
|
|||||||
|
Preserve registers on stack
|
||||||
|
|
||||||
|
This is the standard form of saving the A X and Y registers on the stack
|
||||||
|
|
||||||
|
PHA
|
||||||
|
TXA
|
||||||
|
PHA
|
||||||
|
TYA
|
||||||
|
PHA
|
||||||
|
|
||||||
|
See, for example:
|
||||||
|
|
||||||
|
http://6502.org/tutorials/register_preservation.html
|
||||||
|
|
||||||
|
Not copyrightable.
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
PLA / TAY / PLA / TAX sequence
|
||||||
|
|
||||||
|
This is a common sequence for restoring registers from the stack.
|
||||||
|
It is a fragment of the reverse of pushing the registers A X and Y
|
||||||
|
in alphabetic order. Not copyrightable.
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
End of interrupt restore registers and resume sequence
|
||||||
|
|
||||||
|
This is the standard form of returning from an interrupt on a 6502:
|
||||||
|
|
||||||
|
PLA
|
||||||
|
TAY
|
||||||
|
PLA
|
||||||
|
TAX
|
||||||
|
PLA
|
||||||
|
RTI
|
||||||
|
|
||||||
|
See, for example:
|
||||||
|
|
||||||
|
http://6502.org/tutorials/register_preservation.html
|
||||||
|
|
||||||
|
Not copyrightable.
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
tail end of access to $0282, followed by RTS
|
||||||
|
|
||||||
|
This small fragment is a return from subroutine, where
|
||||||
|
the last thing the subroutine does is access memory location $0282.
|
||||||
|
This is not copyrightable.
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
tail end of access to $0284, followed by RTS
|
||||||
|
|
||||||
|
This small fragment is a return from subroutine, where
|
||||||
|
the last thing the subroutine does is access memory location $0284.
|
||||||
|
This is not copyrightable.
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
Preserve registers on stack
|
||||||
|
|
||||||
|
This is the standard form of saving the A X and Y registers on the stack
|
||||||
|
|
||||||
|
PHA
|
||||||
|
TXA
|
||||||
|
PHA
|
||||||
|
TYA
|
||||||
|
PHA
|
||||||
|
|
||||||
|
See, for example:
|
||||||
|
|
||||||
|
http://6502.org/tutorials/register_preservation.html
|
||||||
|
|
||||||
|
Not copyrightable.
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
End of interrupt restore registers and resume sequence
|
||||||
|
|
||||||
|
This is the standard form of returning from an interrupt on a 6502:
|
||||||
|
|
||||||
|
PLA
|
||||||
|
TAY
|
||||||
|
PLA
|
||||||
|
TAX
|
||||||
|
PLA
|
||||||
|
RTI
|
||||||
|
|
||||||
|
See, for example:
|
||||||
|
|
||||||
|
http://6502.org/tutorials/register_preservation.html
|
||||||
|
|
||||||
|
Not copyrightable.
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
Branch over following JSR instruction
|
||||||
|
A branch with argument $03 skips the following 3 bytes.
|
||||||
|
A JSR instruction has the initial byte value of $20.
|
||||||
|
Therefore $F0 $XX $20 is part of a
|
||||||
|
Bxx +
|
||||||
|
JSR $xxxx
|
||||||
|
*
|
||||||
|
|
||||||
|
instruction sequence.
|
||||||
|
This is a very common construction, and the logical way to
|
||||||
|
conditionally call a routines, and therefore is not copyrightable.
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Jump conditionally
|
||||||
|
|
||||||
|
Conditionally take a JMP
|
||||||
|
|
||||||
|
Bxx +
|
||||||
|
JMP $xxxx
|
||||||
|
*
|
||||||
|
|
||||||
|
This is a very common instruction sequence.
|
||||||
|
Not copyrightable.
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
Jump conditionally
|
||||||
|
|
||||||
|
Conditionally take a JMP
|
||||||
|
|
||||||
|
Bxx +
|
||||||
|
JMP $xxxx
|
||||||
|
*
|
||||||
|
|
||||||
|
This is a very common instruction sequence.
|
||||||
|
Not copyrightable.
|
||||||
Reference in new issue
Block a user