We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

LJMP (Super FX): Difference between revisions

From SnesLab
Jump to: navigation, search
(added example)
Line 51: Line 51:
LJMP Rn
LJMP Rn
</pre>
</pre>
=== Example ===
Let:
R<sub>1</sub> : 0001h
The following program jumps from 00:8006h to 01:0002h:
bank :addr  code
00  :8000h IWT R<sub>10</sub>, #0002h
00  :8003h FROM R<sub>1</sub>
00  :8004h LJMP R<sub>10</sub>
00  :8006h NOP


=== See Also ===
=== See Also ===

Revision as of 22:33, 8 July 2024

Basic Info
Addressing Mode Opcode Length ROM Speed RAM Speed Cache Speed
3D9n 2 bytes 6 cycles 6 cycles 2 cycle
Flags Affected
B ALT1 ALT2 O/V S CY Z
0 0 0 . . . .

LJMP (Long Jump) is a Super FX instruction that performs a (possibly interbank) jump.

The low byte of the source register is loaded into the program bank register.

According to fullsnes, the official documentation has the bank and offs operands for LJMP mixed up. [2]

The operand can be any register from R8 to R13.

The instruction following LJMP is already in the pipeline (the delay slot) and will be executed before the first instruction at the jump target.

Syntax

LJMP Rn

Example

Let:

R1 : 0001h

The following program jumps from 00:8006h to 01:0002h:

bank :addr  code
00   :8000h IWT R10, #0002h
00   :8003h FROM R1
00   :8004h LJMP R10
00   :8006h NOP

See Also

External Links

  1. Official Nintendo documentation on LJMP: 9.49 on Page 2-9-69 of Book II
  2. https://problemkaputt.de/fullsnes.htm#snescartgsuncpumisc