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

BBS (SPC700): Difference between revisions

From SnesLab
Jump to: navigation, search
(linkify flags)
(→‎References: Table C-15)
Line 86: Line 86:


=== References ===
=== References ===
* [https://archive.org/details/SNESDevManual/book1/page/n233 Appendix C-8 of Book I] of the official Super Nintendo development manual
* Table C-15,  [https://archive.org/details/SNESDevManual/book1/page/n233 Appendix C-8 of Book I] of the official Super Nintendo development manual


[[Category:ASM]]
[[Category:ASM]]
[[Category:SPC700]]
[[Category:SPC700]]
[[Category:Branching Commands]]
[[Category:Branching Commands]]

Revision as of 10:25, 14 December 2023

Basic Info
Addressing Mode Opcode Length Speed
Direct Page 03 3 bytes when condition false: 5 cycles

when condition true: 7 cycles

Direct Page 23 3 bytes when condition false: 5 cycles

when condition true: 7 cycles

Direct Page 43 3 bytes when condition false: 5 cycles

when condition true: 7 cycles

Direct Page 63 3 bytes when condition false: 5 cycles

when condition true: 7 cycles

Direct Page 83 3 bytes when condition false: 5 cycles

when condition true: 7 cycles

Direct Page A3 3 bytes when condition false: 5 cycles

when condition true: 7 cycles

Direct Page C3 3 bytes when condition false: 5 cycles

when condition true: 7 cycles

Direct Page E3 3 bytes when condition false: 5 cycles

when condition true: 7 cycles

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

BBS (Branch on Bit Set) is an SPC700 instruction that performs a branch when a bit in the direct page is set. The index to the direct page byte that bit lives in is the first operand byte. Which bit within that byte is a specified by the top 3 bits of the opcode. The target relative address to jump to is the second operand byte.

In assembly source, the two operands appear in the same order that they do in the instruction stream.

See Also

References