Condition Type
Represents the conditional execution behavior of ARM instructions. Most ARM instructions, and most Thumb instructions from ARMv6T2 onwards, can be executed conditionally, based on the values of the APSR condition flags. Before ARMv6T2, the only conditional Thumb instruction was the 16-bit conditional branch instruction.
Record fields
| Record Field |
Description
|
Always (unconditional)/Always (unconditional) Any.
|
|
Carry clear/Less than (C == 0).
|
|
Carry set/Greater than, equal, or unordered (C == 1).
|
|
Equal/Equal (Z == 1).
|
|
Signed greater than or equal/Greater than or equal (N == V).
|
|
Signed greater than/Greater than (Z == 0 and N == V).
|
|
Unsigned higher/Greater than, or unordered (C == 1 and Z == 0).
|
|
HS (unsigned higher or same) is a synonym for CS.
|
|
Signed less than or equal/Less than, equal, or unordered (Z == 1 or N != V).
|
|
LO (unsigned lower) is a synonym for CC.
|
|
Unsigned lower or same/Less than or equal (C == 0 or Z == 1).
|
|
Signed less than/Less than, or unordered (N != V).
|
|
Minus, negative/Less than (N == 1).
|
|
Not equal/Not equal, or unordered (Z == 0).
|
|
The condition code NV exists only to provide a valid disassembly of the 0b1111 encoding, otherwise its behavior is identical to AL.
|
|
Plus, positive or zero/Greater than, equal, or unordered (N == 0).
|
|
Unconditional.
|
|
No overflow/Not unordered (V == 0).
|
|
Overflow/Unordered (V == 1).
|
B2R2