T32 (Thumb) Instructions
19 ARM instructions in this extension - click any row for encoding, pseudocode, and full documentation.
| Mnemonic | Syntax | Format | Summary |
|---|---|---|---|
| adr | ADR <Rd>, <label> | Thumb Data Proc | Adds an immediate value to the PC (Thumb). |
| bkpt | BKPT #<imm> | Thumb System | Software Breakpoint (Thumb encoding). |
| cbnz | CBNZ <Rn>, <label> | Thumb Branch | Branches to label if register is not zero (Thumb-only). |
| cbz | CBZ <Rn>, <label> | Thumb Branch | Branches to label if register is zero (Thumb-only, does not affect flags). |
| hlt | HLT #<imm> | Thumb System | Enters halting debug state (Thumb encoding). |
| it | IT{x{y{z}}} <cond> | Thumb IT | Makes up to 4 following instructions conditional (Thumb-only). |
| ldr | LDR <Rt>, <label> | Thumb Load | Loads a word from a label (Thumb). |
| rev | REV <Rd>, <Rm> | Thumb Data Proc | Endian swap (Thumb). |
| rev16 | REV16 <Rd>, <Rm> | Thumb Data Proc | Reverse bytes in halfwords (Thumb). |
| revsh | REVSH <Rd>, <Rm> | Thumb Data Proc | Reverse bytes in low halfword, sign extend (Thumb). |
| rsb | RSB <Rd>, <Rn>, #0 | Thumb Data Proc | Reverse Subtract (Thumb 16-bit). |
| svc | SVC #<imm> | Thumb System | System Call (Thumb encoding). |
| sxtb | SXTB <Rd>, <Rm> | Thumb Data Proc | Sign-extends byte to word (Thumb). |
| sxth | SXTH <Rd>, <Rm> | Thumb Data Proc | Sign-extends halfword to word (Thumb). |
| tbb | TBB [<Rn>, <Rm>] | Thumb Branch | PC-relative branch using a table of bytes (Switch statements). |
| tbh | TBH [<Rn>, <Rm>, LSL #1] | Thumb Branch | PC-relative branch using a table of halfwords. |
| udf | UDF #<imm> | Thumb System | Permanently undefined instruction (Thumb). |
| uxtb | UXTB <Rd>, <Rm> | Thumb Data Proc | Zero-extends byte to word (Thumb). |
| uxth | UXTH <Rd>, <Rm> | Thumb Data Proc | Zero-extends halfword to word (Thumb). |