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

BGE (Super FX): Difference between revisions

From SnesLab
Jump to: navigation, search
(added syntax)
(negative flag -> sign flag)
 
(6 intermediate revisions by the same user not shown)
Line 2: Line 2:
!colspan="8"|Basic Info
!colspan="8"|Basic Info
|+
|+
|'''Addressing Mode'''
|'''Opcode'''
|'''Opcode'''
|'''Length'''
|'''Length'''
Line 8: Line 9:
|'''Cache Speed'''
|'''Cache Speed'''
|+
|+
|[[Program Counter Relative]]
|07
|07
|2 bytes
|2 bytes
Line 18: 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 35: Line 37:
|}
|}


'''BGE''' (Branch if Greater or Equal) is a [[Super FX]] opcode that performs a jump if the [[negative flag]] is equal to the [[O/V]] flag, effectively checking for a signed greater-equal comparison (compare [[BCS]] which is an unsigned greater-equal comparison).
'''BGE''' (Branch if Greater or Equal) is a [[Super FX]] opcode that performs a jump if the [[sign flag]] is equal to the [[O/V]] flag, effectively checking for a signed greater-equal comparison (compare [[BCS]] which is an unsigned greater-equal comparison).


According to [[fullsnes]], the official documentation has BGE exchanged with [[BLT]].  <sup>[2]</sup>
According to [[fullsnes]], the official documentation has BGE exchanged with [[BLT]].  <sup>[2]</sup>
Line 44: Line 46:
<pre>
<pre>
BGE e
BGE e
</pre>
==== Example ====
Let the sign flag and O/V flag be set.  This instruction jumps the program backward 3 bytes:
<pre>
BGE $-3h
</pre>
</pre>



Latest revision as of 19:17, 4 August 2024

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

BGE (Branch if Greater or Equal) is a Super FX opcode that performs a jump if the sign flag is equal to the O/V flag, effectively checking for a signed greater-equal comparison (compare BCS which is an unsigned greater-equal comparison).

According to fullsnes, the official documentation has BGE exchanged with BLT. [2]

No flags are affected.

Syntax

BGE e

Example

Let the sign flag and O/V flag be set. This instruction jumps the program backward 3 bytes:

 BGE $-3h

See also

References

  1. Official Nintendo dev manual on BGE: 9.17 on page 2-9-20 of Book II
  2. https://problemkaputt.de/fullsnes.htm#snescartgsuncpumisc
  3. example: page 2-9-21, lbid.