Thumb® Instruction Set Quick Reference Card
Thumb® Instruction Set Quick Reference Card
Key to Tables
<loreglist> A comma-separated list of Lo registers, enclosed in braces, { and }. <loreglist+LR> A comma-separated list of Lo registers. plus the LR, enclosed in braces, { and }.
<loreglist+PC> A comma-separated list of Lo registers. plus the PC, enclosed in braces, { and }.
All Thumb registers are Lo (R0-R7) except where specified. Hi registers are R8-R15.
FPSCR format Rounding (Stride – 1)*3 Vector length – 1 Exception trap enable bits Cumulative exception bits
31 30 29 28 24 23 22 21 20 18 17 16 12 11 10 9 8 4 3 2 1 0
N Z C V FZ RMODE STRIDE LEN IXE UFE OFE DZE IOE IXC UFC OFC DZC IOC
FZ: 1 = flush to zero mode. Rounding: 0 = round to nearest, 1 = towards +∞, 2 = towards –∞, 3 = towards zero. (Vector length * Stride) must not exceed 4 for double precision operands.
If Fd is S0-S7 or D0-D3, operation is Scalar (regardless of vector length). If Fd is S8-S31 or D4-D15, and Fm is S0-S7 or D0-D3, operation is Mixed (Fm scalar, others vector).
If Fd is S8-S31 or D4-D15, and Fm is S8-S31 or D4-D15, operation is Vector. S0-S7 (or D0-D3), S8-S15 (D4-D7), S16-S23 (D8-D11), S24-S31 (D12-D15) each form a circulating bank of registers.
Condition Field
Mnemonic Description (Thumb) Description (VFP)
EQ Equal Equal
NE Not equal Not equal, or unordered
CS / HS Carry Set / Unsigned higher or same Greater than or equal, or unordered
CC / LO Carry Clear / Unsigned lower Less than
MI Negative Less than
PL Positive or zero Greater than or equal, or unordered
VS Overflow Unordered (at least one NaN operand)
VC No overflow Not unordered
HI Unsigned higher Greater than, or unordered
LS Unsigned lower or same Less than or equal
GE Signed greater than or equal Greater than or equal
LT Signed less than Less than, or unordered
GT Signed greater than Greater than
LE Signed less than or equal Less than or equal, or unordered
AL Do not use in Thumb Always (normally omitted)
Exceptions
IO Invalid operation
OF Overflow
UF Underflow
IX Inexact result
DZ Division by zero