Syntax: |
Operation: |
Operands: |
Program Counter: |
Opcode |
Comment |
Stack |
BRNE k |
If Rd != Rr (Z == 0) then PC = PC + k + 1, else PC = PC + 1 |
-64 <= k <= +63 |
PC = PC + k + 1 PC = PC + 1, if the condition is false |
111101kkkkkkk001 |
Conditional relative branch. Tests the Zero (Z) flag and branches relatively to the PC if Z is cleared. If the instruction is executed immediately after any of the instructions CP, CPI, SUB, or SUBI, the branch will occur only if the unsigned or signed binary number represented in Rd was not equal to the unsigned or signed binary number represented in Rr. 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. (Equivalent to instruction BRBC 1,k.)
I |
– |
||
T |
– |
||
H |
– |
||
S |
– |
||
V |
– |
||
N |
– |
||
Z |
– |
||
C |
– |
eor r27,r27 ; Clear r27 loop: inc r27 ; Increase r27 ... cpi r27,5 ; Compare r27 to 5 brne loop ; Branch if r27<>5 nop ; Loop exit (do nothing)
1 (2 bytes)
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.