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

BCS (SPC700): Difference between revisions

From SnesLab
Jump to: navigation, search
(explained speed difference)
(control falls through)
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''BCS''' is an [[SPC700]] instruction that performs a branch when the carry flag is set.
{| 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
|+
|+
Line 9: Line 7:
|'''Speed'''
|'''Speed'''
|+
|+
|relative
|[[Program Counter Relative]]
|B0
|B0
|2 bytes
|2 bytes
Line 17: Line 15:


{| class="wikitable" style="float:right;clear:right;width:30%"
{| class="wikitable" style="float:right;clear:right;width:30%"
!colspan="8"|Flags Clobbered
!colspan="8"|Flags Affected
|+
|+
|N
|[[Negative Flag|N]]
|V
|[[Overflow Flag|V]]
|P
|[[Direct Page Flag|P]]
|B
|[[Break Flag|B]]
|H
|[[Half-Carry Flag|H]]
|I
|[[Interrupt Enable Flag|I]]
|Z
|[[Zero Flag|Z]]
|C
|[[Carry Flag|C]]
|+
|+
|.
|.
Line 37: Line 35:
|.
|.
|}
|}
'''BCS''' is an [[SPC700]] instruction that performs a branch when the [[carry flag]] is set.  If the carry flag is clear, control simply falls through BCS to the next instruction.
No flags are affected.
==== Syntax ====
<pre>
BCS rel
</pre>
Where rel is a two's complement offset.


=== See Also ===
=== See Also ===
* [[BCS]]
* [[BCS]]
* [[BCC (SPC700)]]


=== External Links ===
=== External Links ===
* Official Super Nintendo development manual on BCS: [https://archive.org/details/SNESDevManual/book1/page/n234 Appendix C-8 of Book I]
* Official Super Nintendo development manual on BCS: Table C-15, [https://archive.org/details/SNESDevManual/book1/page/n233 Appendix C-8 of Book I]
* anomie: https://github.com/yupferris/TasmShiz/blob/master/spc700.txt#L359


[[Category:ASM]]
[[Category:ASM]]
[[Category:SPC700]]
[[Category:SPC700]]
[[Category:Branching Commands]]
[[Category:Branching Commands]]
[[Category:Two-byte Instructions]]

Latest revision as of 15:26, 14 August 2024

Basic Info
Addressing Mode Opcode Length Speed
Program Counter Relative B0 2 bytes when condition false: 2 cycles

when condition true: 4 cycles

Flags Affected
N V P B H I Z C
. . . . . . . .

BCS is an SPC700 instruction that performs a branch when the carry flag is set. If the carry flag is clear, control simply falls through BCS to the next instruction.

No flags are affected.

Syntax

BCS rel

Where rel is a two's complement offset.

See Also

External Links