Header menu logo B2R2

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

AL

Full Usage: AL

Field type: Condition
Modifiers: static

Always (unconditional)/Always (unconditional) Any.

Field type: Condition

CC

Full Usage: CC

Field type: Condition
Modifiers: static

Carry clear/Less than (C == 0).

Field type: Condition

CS

Full Usage: CS

Field type: Condition
Modifiers: static

Carry set/Greater than, equal, or unordered (C == 1).

Field type: Condition

EQ

Full Usage: EQ

Field type: Condition
Modifiers: static

Equal/Equal (Z == 1).

Field type: Condition

GE

Full Usage: GE

Field type: Condition
Modifiers: static

Signed greater than or equal/Greater than or equal (N == V).

Field type: Condition

GT

Full Usage: GT

Field type: Condition
Modifiers: static

Signed greater than/Greater than (Z == 0 and N == V).

Field type: Condition

HI

Full Usage: HI

Field type: Condition
Modifiers: static

Unsigned higher/Greater than, or unordered (C == 1 and Z == 0).

Field type: Condition

HS

Full Usage: HS

Field type: Condition
Modifiers: static

HS (unsigned higher or same) is a synonym for CS.

Field type: Condition

LE

Full Usage: LE

Field type: Condition
Modifiers: static

Signed less than or equal/Less than, equal, or unordered (Z == 1 or N != V).

Field type: Condition

LO

Full Usage: LO

Field type: Condition
Modifiers: static

LO (unsigned lower) is a synonym for CC.

Field type: Condition

LS

Full Usage: LS

Field type: Condition
Modifiers: static

Unsigned lower or same/Less than or equal (C == 0 or Z == 1).

Field type: Condition

LT

Full Usage: LT

Field type: Condition
Modifiers: static

Signed less than/Less than, or unordered (N != V).

Field type: Condition

MI

Full Usage: MI

Field type: Condition
Modifiers: static

Minus, negative/Less than (N == 1).

Field type: Condition

NE

Full Usage: NE

Field type: Condition
Modifiers: static

Not equal/Not equal, or unordered (Z == 0).

Field type: Condition

NV

Full Usage: NV

Field type: Condition
Modifiers: static

The condition code NV exists only to provide a valid disassembly of the 0b1111 encoding, otherwise its behavior is identical to AL.

Field type: Condition

PL

Full Usage: PL

Field type: Condition
Modifiers: static

Plus, positive or zero/Greater than, equal, or unordered (N == 0).

Field type: Condition

UN

Full Usage: UN

Field type: Condition
Modifiers: static

Unconditional.

Field type: Condition

VC

Full Usage: VC

Field type: Condition
Modifiers: static

No overflow/Not unordered (V == 0).

Field type: Condition

VS

Full Usage: VS

Field type: Condition
Modifiers: static

Overflow/Unordered (V == 1).

Field type: Condition

Type something to start searching.