SBBC / SBBS - Skip if Bit in Register is Cleared / Set

SBBC Reg, Bit
SBBS Reg, Bit
Reg: R0 - R31
Bit: 0 - 7

Dieser Befehl prüft, ob ein Bit in einem Register gelöscht (cleared) / gesetzt (set) ist, und überspringt im Wahrheitsfall den nächsten Befehl.
Damit kann z.B. ein JMP oder CALL Befehl in Abhängigkeit eines Bits in einem Register übersprungen werden. Es können beliebige Befehle überprungen werden.


Beispiel:

inc R10 ;erhöhen des Registers R10 um 1 (Counter)
sbrc R10, 0 ;Bit 0 (das rechteste Bit) wird auf "set" getestet. Set würde bedeuten, dass die Zahl in R10 ungeradzahlig ist
call Geradzahlig ;Wenn das rechteste Bit in R10 0 ist, wird dieser Befehl ausgeführt
... ;Dieser Befehl wird immer ausgeführt. Nur der davor wird ggf. übersprungen

Statusregister: Keine Beeinflussung
Speicherplatz: 2 Byte
Taktzyklen: 1-3 je nach Ergebnis