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

BVC (Super FX): Difference between revisions

From SnesLab
Jump to: navigation, search
(moved tables up)
(note about delay slot)
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
{| class="wikitable" style="float:right;clear:right;width:40%"
{| 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'''
|+
|+
|[[Program Counter Relative]]
|0E??
|0E??
|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:
|}
|}


'''BVC''' (Branch Overflow Clear) is a [[Super FX]] instruction that performs a branch when the overflow flag is clear.
'''BVC''' (Branch Overflow Clear) is a [[Super FX]] instruction that performs a branch when the overflow flag ([[O/V]]) is clear. The instruction following BVC is already in the pipeline and will run even if the branch occurs.
 
If the overflow flag is set, control simply falls through and the branch does not happen.
 
No flags are affected.
 
==== Syntax ====
<pre>
BVC e
</pre>
where e is a relative offset from -128 to 127.
 
==== Example ====
Let the O/V flag be clear.  This instruction jumps the program forward 4 bytes:
<pre>
BVC $+4h
</pre>
 
=== See Also ===
* [[BVS (Super FX)]]
* [[BVC]]


=== External Links ===
=== External Links ===
* Official Nintendo documentation on BVC: [https://archive.org/details/SNESDevManual/book2/page/n190 Page 2-9-34 of Book II]
* Official Nintendo documentation on BVC: 9.25 on [https://archive.org/details/SNESDevManual/book2/page/n190 Page 2-9-34 of Book II]
* example: [https://archive.org/details/SNESDevManual/book2/page/n191 Page 2-9-35 of Book II], lbid.


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

Latest revision as of 08:02, 14 July 2024

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

BVC (Branch Overflow Clear) is a Super FX instruction that performs a branch when the overflow flag (O/V) is clear. The instruction following BVC is already in the pipeline and will run even if the branch occurs.

If the overflow flag is set, control simply falls through and the branch does not happen.

No flags are affected.

Syntax

BVC e

where e is a relative offset from -128 to 127.

Example

Let the O/V flag be clear. This instruction jumps the program forward 4 bytes:

BVC $+4h

See Also

External Links