We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
BPL (Super FX): Difference between revisions
From SnesLab
(no flags affected) |
(Zero is positive) |
||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{| class="wikitable" style="float:right;clear:right;width: | {| 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]] | |||
|0A?? | |0A?? | ||
|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: | ||
|} | |} | ||
'''BPL''' (Branch | '''BPL''' (Branch Plus) is a [[Super FX]] instruction that performs a conditional jump if the [[sign flag]] is clear. If the sign flag is set, nothing happens. Note that zero is considered positive. | ||
The instruction after BPL is already in the pipeline and will run even if the branch occurs. | |||
No flags are affected. | No flags are affected. | ||
==== Syntax ==== | |||
<pre> | |||
BPL e | |||
</pre> | |||
==== Example ==== | |||
Let the sign flag be clear. This instruction jumps the program forward 4 bytes: | |||
<pre> | |||
BPL $+4h | |||
</pre> | |||
=== See Also === | === See Also === | ||
Line 45: | Line 60: | ||
=== External Links === | === External Links === | ||
* Official Nintendo documentation on BPL: [https://archive.org/details/SNESDevManual/book2/page/n186 | * Official Nintendo documentation on BPL: paragraph 9.23 on [https://archive.org/details/SNESDevManual/book2/page/n186 page 2-9-30 of Book II] | ||
* example: [https://archive.org/details/SNESDevManual/book2/page/n187 page 2-9-31], lbid. | * example: [https://archive.org/details/SNESDevManual/book2/page/n187 page 2-9-31], lbid. | ||
Line 51: | Line 66: | ||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:Two-byte Instructions]] | [[Category:Two-byte Instructions]] | ||
[[Category:Instructions with Delay Slots]] |
Latest revision as of 08:17, 14 July 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | ROM Speed | RAM Speed | Cache Speed | ||
Program Counter Relative | 0A?? | 2 bytes | 6 cycles | 6 cycles | 2 cycles |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
B | ALT1 | ALT2 | O/V | S | CY | Z | ||
. | . | . | . | . | . | . |
BPL (Branch Plus) is a Super FX instruction that performs a conditional jump if the sign flag is clear. If the sign flag is set, nothing happens. Note that zero is considered positive.
The instruction after BPL is already in the pipeline and will run even if the branch occurs.
No flags are affected.
Syntax
BPL e
Example
Let the sign flag be clear. This instruction jumps the program forward 4 bytes:
BPL $+4h
See Also
External Links
- Official Nintendo documentation on BPL: paragraph 9.23 on page 2-9-30 of Book II
- example: page 2-9-31, lbid.