6.120.2 Status Register and Boolean Formula
| I | T | H | S | V | N | Z | C |
| – | – | ⇔ | ⇔ | ⇔ | ⇔ | ⇔ | ⇔ |
- H
-
Rd3 ∧ K3 ∨ K3 ∧ R3 ∨ R3 ∧ Rd3
Set if there was a borrow from bit 3; cleared otherwise.
- S
- N ⊕ V, for signed tests.
- V
-
Rd7 ∧ K7 ∧ R7 ∨ Rd7 ∧ K7 ∧ R7
Set if two’s complement overflow resulted from the operation; cleared otherwise.
- N
-
R7
Set if MSB of the result is set; cleared otherwise.
- Z
-
R7 ∧ R6 ∧ R5 ∧ R4 ∧ R3 ∧ R2 ∧ R1 ∧ R0
Set if the result is
0x00; cleared otherwise. - C
-
Rd7 ∧ K7 ∨ K7 ∧ R7 ∨ R7 ∧ Rd7
Set if the absolute value of K is larger than the absolute value of Rd; cleared otherwise.
R (Result) equals Rd after the operation.
Example:
subi r22,0x11 ; Subtract 0x11 from r22
brne noteq ; Branch if r22<>0x11
...
noteq:
nop ; Branch destination (do nothing)- Words
- 1 (2 bytes)
| Name | Cycles |
|---|---|
| AVRe | 1 |
| AVRxm | 1 |
| AVRxt | 1 |
| AVRrc | 1 |
