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
Jump to: navigation, search
(added link to official dev manual)
(→‎External Links: added anomie link)
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''JMP''' is an [[SPC700]] instruction that performs an unconditional branch.
{| class="wikitable" style="float:right;clear:right;width:40%"
 
{| class="wikitable" style="float:right;clear:right;width:30%"
!colspan="8"|Basic Info
!colspan="8"|Basic Info
|+
|+
Line 9: Line 7:
|'''Speed'''
|'''Speed'''
|+
|+
|
|[[Absolute]]
|5E
|5F
|3 bytes
|3 bytes
|3 cycles
|3 cycles
|+
|+
|
|[[Absolute Indexed by X]]
|1F
|1F
|3 bytes
|3 bytes
Line 21: Line 19:


{| class="wikitable" style="float:right;clear:right;width:30%"
{| class="wikitable" style="float:right;clear:right;width:30%"
!colspan="8"|Flags Clobbered
!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 41: Line 39:
|.
|.
|}
|}
'''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 ====
<pre>
JMP !abs
JMP [!abs+X]
</pre>
=== See Also ===
* [[BRA (SPC700)]]
* [[BRA]]


=== External Links ===
=== External Links ===
* Official Super Nintendo development manual on JMP: [https://archive.org/details/SNESDevManual/book1/page/n234 Appendix C-8 of Book I]
* 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