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 (Super FX): Difference between revisions
From SnesLab
(where target address comes from.) |
(→See Also: BRA) |
||
(14 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{| class="wikitable" style="float:right;clear:right;width: | {| class="wikitable" style="float:right;clear:right;width:50%" | ||
!colspan="8"|Basic Info | !colspan="8"|Basic Info | ||
|+ | |+ | ||
|'''Addressing Mode''' | |||
|'''Opcode''' | |'''Opcode''' | ||
|'''Length''' | |'''Length''' | ||
Line 8: | Line 9: | ||
|'''Cache Speed''' | |'''Cache Speed''' | ||
|+ | |+ | ||
|[[Absolute Implied]] (type 1) | |||
|9n | |9n | ||
|1 byte | |1 byte | ||
Line 22: | Line 24: | ||
|[[ALT2]] | |[[ALT2]] | ||
|[[O/V]] | |[[O/V]] | ||
|S | |[[Sign Flag|S]] | ||
|[[CY]] | |[[CY]] | ||
|Z | |[[Zero Flag|Z]] | ||
|+ | |+ | ||
|0 | |0 | ||
Line 36: | Line 38: | ||
'''JMP''' is a [[Super FX]] instruction that performs a jump. The target address can come from any register from R<sub>8</sub> to R<sub>13</sub>. | '''JMP''' is a [[Super FX]] instruction that performs a jump. The target address can come from any register from R<sub>8</sub> to R<sub>13</sub>. | ||
The instruction following JMP is already in the pipeline and will be run before the instruction at the destination address. | |||
The [[ALT0]] state is restored. | |||
==== Syntax ==== | |||
<pre> | |||
JMP Rn | |||
</pre> | |||
==== Example ==== | |||
Let: | |||
R<sub>10</sub> = 0555h | |||
After executing the following program: | |||
PC Opcode | |||
0444h JMP R<sub>10</sub> | |||
0445h INC R<sub>10</sub> | |||
The jump destination is 0555h. | |||
=== See Also === | === See Also === | ||
* [[LJMP]] | * [[LJMP]] | ||
* [[JMP]] | |||
* [[BRA (Super FX)]] | |||
* [[BRA]] | |||
=== External Links === | === External Links === | ||
# Official Nintendo documentation on JMP: [https://archive.org/details/SNESDevManual/book2/page/ | # Official Nintendo documentation on JMP: 9.44 on [https://archive.org/details/SNESDevManual/book2/page/n219 page 2-9-63 of Book II] | ||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:Super FX]] | [[Category:Super FX]] | ||
[[Category:One-byte Instructions]] | [[Category:One-byte Instructions]] | ||
[[Category:Instructions with Delay Slots]] |
Latest revision as of 00:33, 17 July 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | ROM Speed | RAM Speed | Cache Speed | ||
Absolute Implied (type 1) | 9n | 1 byte | 3 cycles | 3 cycles | 1 cycle |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
B | ALT1 | ALT2 | O/V | S | CY | Z | ||
0 | 0 | 0 | . | . | . | . |
JMP is a Super FX instruction that performs a jump. The target address can come from any register from R8 to R13.
The instruction following JMP is already in the pipeline and will be run before the instruction at the destination address.
The ALT0 state is restored.
Syntax
JMP Rn
Example
Let:
R10 = 0555h
After executing the following program:
PC Opcode 0444h JMP R10 0445h INC R10
The jump destination is 0555h.
See Also
External Links
- Official Nintendo documentation on JMP: 9.44 on page 2-9-63 of Book II