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

BRA (Super FX): Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎References: hid archive URL)
(→‎External Links: lowercase p)
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''BRA''' (Branch) is a [[Super FX]] instruction that performs an unconditional jump.
{| class="wikitable" style="float:right;clear:right;width:50%"
 
{| class="wikitable" style="float:right;clear:right;width:40%"
!colspan="8"|Basic Info
!colspan="8"|Basic Info
|+
|+
|'''Addressing Mode'''
|'''Opcode'''
|'''Opcode'''
|'''Length'''
|'''Length'''
Line 10: Line 9:
|'''Cache Speed'''
|'''Cache Speed'''
|+
|+
|[[Program Counter Relative]]
|05??
|05??
|2 bytes
|2 bytes
Line 20: Line 20:
!colspan="9"|Flags Affected
!colspan="9"|Flags Affected
|+
|+
|B
|[[B Flag|B]]
|ALT1
|[[ALT1]]
|ALT2
|[[ALT2]]
|O/V
|[[O/V]]
|S
|[[Sign Flag|S]]
|CY
|[[CY]]
|Z
|[[Zero Flag|Z]]
|+
|+
|.
|.
Line 36: Line 36:
|.
|.
|}
|}
'''BRA''' (Branch) is a [[Super FX]] instruction that performs an unconditional jump.  A relative offset of -128 to 127 bytes from the address following the BRA instruction is added into R<sub>15</sub> (the program counter).
No flags are affected.
The instruction after BRA is already in the pipeline and will be run before the instruction at the branch destination.
==== Syntax ====
<pre>
BRA e
</pre>
==== Example ====
This instruction jumps the program backward in an infinite loop:
<pre>
BRA $0h
</pre>
=== See Also ===
* [[BRA]]
* [[JMP (Super FX)]]
* [[LJMP (Super FX)]]


=== External Links ===
=== External Links ===
* Official Nintendo documentation on BRA: [https://archive.org/details/SNESDevManual/book2/page/n188 Page 2-9-32 of Book II]
* Official Nintendo documentation on BRA: 9.24 on [https://archive.org/details/SNESDevManual/book2/page/n188 page 2-9-32 of Book II]
* example: [https://archive.org/details/SNESDevManual/book2/page/n189 page 2-9-33 of Book II], lbid.


[[Category:Super FX]]
[[Category:Super FX]]
[[Category:ASM]]
[[Category:ASM]]
[[Category:Two-byte Instructions]]
[[Category:Instructions with Delay Slots]]

Latest revision as of 00:37, 17 July 2024

Basic Info
Addressing Mode Opcode Length ROM Speed RAM Speed Cache Speed
Program Counter Relative 05?? 2 bytes 6 cycles 6 cycles 2 cycles
Flags Affected
B ALT1 ALT2 O/V S CY Z
. . . . . . .

BRA (Branch) is a Super FX instruction that performs an unconditional jump. A relative offset of -128 to 127 bytes from the address following the BRA instruction is added into R15 (the program counter).

No flags are affected.

The instruction after BRA is already in the pipeline and will be run before the instruction at the branch destination.

Syntax

BRA e

Example

This instruction jumps the program backward in an infinite loop:

 BRA $0h

See Also

External Links