Operations:

Syntax:

Operation:

Operands:

Program Counter:

Opcode

Comment

Stack

BRBC s,k

If SREG(s) == 0 then PC = PC + k + 1, else PC = PC + 1

0 <= s <= 7, -64 <= k <= +63

PC = PC + k + 1

PC = PC + 1, if the condition is false

111101kkkkkkksss

Description

Conditional relative branch. Tests a single bit in SREG and branches relatively to the PC if the bit is cleared. This instruction branches relatively to the PC in either direction (PC - 63 <= destination <= PC + 64). Parameter k is the offset from the PC and is represented in two's complement form.

Status Register (SREG) and Boolean Formula

I

T

H

S

V

N

Z

C

Example:

        cpi   r20,5     ; Compare r20 to the value 5
        brbc  1,noteq   ; Branch if Zero flag cleared
        ...
noteq:  nop             ; Branch destination (do nothing)

Words

1 (2 bytes)

Table Cycles

Name

Cycles

i

ii

AVRe

1

2

AVRxm

1

2

AVRxt

1

2

AVRrc

1

2

i) If the condition is false.

ii) If the condition is true.