Syntax: |
Operation: |
Operands: |
Program Counter: |
Opcode |
Comment |
Stack |
SBIC A,b |
If I/O(A,b) == 0 then PC = PC + 2 (or 3) else PC = PC + 1 |
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 |
10011001AAAAAbbb |
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.
I |
– |
||
T |
– |
||
H |
– |
||
S |
– |
||
V |
– |
||
N |
– |
||
Z |
– |
||
C |
– |
wait: sbic 0x1C,1 ; Skip next instruction if 0x1C bit 1 is cleared rjmp wait ; Bit not cleared yet nop ; Continue (do nothing)
1 (2 bytes)
Name |
Cycles i |
ii |
iii |
AVRe |
1 |
2 |
3 |
AVRxm |
2 |
3 |
4 |
AVRxt |
1 |
2 |
3 |
AVRrc |
1 |
2 |
N/A |
i) If the condition is false (no skip).
ii) If the condition is true (skip is executed) and the instruction skipped is one word.
iii) If the condition is true (skip is executed) and the instruction skipped is two words.