We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
JMP (SPC700): Difference between revisions
From SnesLab
(added admodes) |
(→External Links: added anomie link) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 19: | Line 19: | ||
{| class="wikitable" style="float:right;clear:right;width:30%" | {| class="wikitable" style="float:right;clear:right;width:30%" | ||
!colspan="8"|Flags | !colspan="8"|Flags Affected | ||
|+ | |+ | ||
|N | |[[Negative Flag|N]] | ||
|V | |[[Overflow Flag|V]] | ||
|P | |[[Direct Page Flag|P]] | ||
|B | |[[Break Flag|B]] | ||
|H | |[[Half-Carry Flag|H]] | ||
|I | |[[Interrupt Enable Flag|I]] | ||
|Z | |[[Zero Flag|Z]] | ||
|C | |[[Carry Flag|C]] | ||
|+ | |+ | ||
|. | |. | ||
Line 45: | Line 45: | ||
With absolute indexed by X addressing, the SPC jumps to the effective address specified by the two bytes following the 1F opcode plus the value in the [[X index register]]. | With absolute indexed by X addressing, the SPC jumps to the effective address specified by the two bytes following the 1F opcode plus the value in the [[X index register]]. | ||
No flags are affected. | |||
==== Syntax ==== | |||
<pre> | |||
JMP !abs | |||
JMP [!abs+X] | |||
</pre> | |||
=== See Also === | === See Also === | ||
Line 51: | Line 59: | ||
=== External Links === | === External Links === | ||
* Official Super Nintendo development manual on JMP: [https://archive.org/details/SNESDevManual/book1/page/ | * Official Super Nintendo development manual on JMP: Table C-15, [https://archive.org/details/SNESDevManual/book1/page/n233 Appendix C-8 of Book I] | ||
* anomie: https://github.com/yupferris/TasmShiz/blob/master/spc700.txt#L454 | |||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:SPC700]] | [[Category:SPC700]] | ||
[[Category:Branching Commands]] | [[Category:Branching Commands]] | ||
[[Category:Three-byte Instructions]] |
Latest revision as of 21:56, 13 July 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Absolute | 5F | 3 bytes | 3 cycles | ||||
Absolute Indexed by X | 1F | 3 bytes | 6 cycles |
Flags Affected | |||||||
---|---|---|---|---|---|---|---|
N | V | P | B | H | I | Z | C |
. | . | . | . | . | . | . | . |
JMP is an SPC700 instruction that performs an unconditional branch.
With absolute addressing, the SPC jumps to the address specified in the two bytes following the 5F opcode.
With absolute indexed by X addressing, the SPC jumps to the effective address specified by the two bytes following the 1F opcode plus the value in the X index register.
No flags are affected.
Syntax
JMP !abs JMP [!abs+X]
See Also
External Links
- Official Super Nintendo development manual on JMP: Table C-15, Appendix C-8 of Book I
- anomie: https://github.com/yupferris/TasmShiz/blob/master/spc700.txt#L454