100. SBIC – Skip if Bit in I/O Register is Cleared
100.1. Description
This instruction tests a single bit in an I/O Register and skips the next instruction if the bit is cleared. This
instruction operates on the lower 32 I/O Registers – addresses 0-31.
Operation:
(i) If I/O(A,b) = 0 then PC ← PC + 2 (or 3) else PC ← PC + 1
Syntax: Operands: Program Counter:
(i) SBIC A,b 0 ≤ A ≤ 31, 0 ≤ b ≤ 7 PC ← PC + 1, Condition false -
no skip
PC ← PC + 2, Skip a one word
instruction
PC ← PC + 3, Skip a two word
instruction
16-bit Opcode:
1001 1001 AAAA Abbb
100.2. Status Register (SREG) and Boolean Formula
I T H S V N Z C
– – – – – – – –
Example:
e2wait: sbic $1C,1 ; Skip next inst. if EEWE cleared
rjmp e2wait ; EEPROM write not finished
nop ; Continue (do nothing)
Words 1 (2 bytes)
Cycles 1 if condition is false (no skip)
2 if condition is true (skip is executed) and the instruction skipped is 1 word
3 if condition is true (skip is executed) and the instruction skipped is 2 words
Cycles XMEGA 2 if condition is false (no skip)
3 if condition is true (skip is executed) and the instruction skipped is 1 word
4 if condition is true (skip is executed) and the instruction skipped is 2 words
Atmel AVR Instruction Set Manual [OTHER]
Atmel-0856L-AVR-Instruction-Set-Manual_Other-11/2016
152