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

BMI (Super FX): Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎References: hid archive URL)
(→‎Syntax: what e can be)
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''BMI''' (Branch minus) is a [[Super FX]] instruction that performs a conditional 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]]
|0B??
|0B??
|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:
|.
|.
|}
|}
'''BMI''' (Branch Minus) is a [[Super FX]] instruction that performs a conditional jump if the [[sign flag]] is set.  If the sign flag is clear, control simply falls through.  The instruction after BMI is already in the pipeline and will run even if the branch occurs.
No flags are affected.
==== Syntax ====
<pre>
BMI e
</pre>
where e can be from -128 to 127.
==== Example ====
Let the sign flag be set.  This instruction jumps the program forward 5 bytes:
<pre>
BMI $+5h
</pre>
=== See Also ===
* [[BPL (Super FX)]]
* [[BMI]]


=== External Links ===
=== External Links ===
* Official Nintendo documentation on BMI: [https://archive.org/details/SNESDevManual/book2/page/n182 Page 2-9-26 of Book II]
* Official Nintendo documentation on BMI: paragraph 9.21 on [https://archive.org/details/SNESDevManual/book2/page/n182 page 2-9-26 of Book II]
* example: [https://archive.org/details/SNESDevManual/book2/page/n183 page 2-9-27], lbid.
 


[[Category:Super FX]]
[[Category:Super FX]]
[[Category:ASM]]
[[Category:ASM]]
[[Category:Instructions with Delay Slots]]

Latest revision as of 08:34, 14 July 2024

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

BMI (Branch Minus) is a Super FX instruction that performs a conditional jump if the sign flag is set. If the sign flag is clear, control simply falls through. The instruction after BMI is already in the pipeline and will run even if the branch occurs.

No flags are affected.

Syntax

BMI e

where e can be from -128 to 127.

Example

Let the sign flag be set. This instruction jumps the program forward 5 bytes:

 BMI $+5h

See Also

External Links