T32 (Thumb2) Instructions
33 ARM instructions in this extension - click any row for encoding, pseudocode, and full documentation.
| Mnemonic | Syntax | Format | Summary |
|---|---|---|---|
| adc.w | ADC.W <Rd>, <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit add with carry (Access high registers/large constants). |
| add.w | ADD.W <Rd>, <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit add. |
| adr.w | ADR.W <Rd>, <label> | Thumb Data Proc | Thumb-2 32-bit ADR. |
| and.w | AND.W <Rd>, <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit AND. |
| b.w | B.W <label> | Thumb Branch | Thumb-2 32-bit Unconditional Branch (large range). |
| bic.w | BIC.W <Rd>, <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit AND NOT. |
| bl.w | BL.W <label> | Thumb Branch | Thumb-2 32-bit Branch with Link. |
| cmn.w | CMN.W <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit Compare Negative (Add and update flags). |
| cmp.w | CMP.W <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit Compare (Subtract and update flags). |
| eor.w | EOR.W <Rd>, <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit XOR. |
| ldm.w | LDM.W <Rn>{!}, <registers> | Thumb Load Multiple | Thumb-2 32-bit Load Multiple. |
| ldr.w | LDR.W <Rt>, [<Rn>, #<imm>] | Thumb Load | Thumb-2 32-bit Load Word. |
| ldrb.w | LDRB.W <Rt>, [<Rn>, #<imm>] | Thumb Load | Thumb-2 32-bit Load Byte. |
| ldrh.w | LDRH.W <Rt>, [<Rn>, #<imm>] | Thumb Load | Thumb-2 32-bit Load Halfword. |
| ldrsb.w | LDRSB.W <Rt>, [<Rn>, #<imm>] | Thumb Load | Thumb-2 32-bit Load Signed Byte. |
| ldrsh.w | LDRSH.W <Rt>, [<Rn>, #<imm>] | Thumb Load | Thumb-2 32-bit Load Signed Halfword. |
| mov.w | MOV.W <Rd>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit Move. |
| mvn.w | MVN.W <Rd>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit Move Inverse. |
| orn.w | ORN.W <Rd>, <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit OR NOT. |
| orr.w | ORR.W <Rd>, <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit OR. |
| pldw | PLDW [<Rn>, #<imm>] | Thumb Load/Store | Hints memory system to bring data into cache for writing (Thumb). |
| pop.w | POP.W <registers> | Thumb Load Multiple | Thumb-2 32-bit Pop. |
| push.w | PUSH.W <registers> | Thumb Store Multiple | Thumb-2 32-bit Push. |
| rrx | RRX{S}.W <Rd>, <Rm> | Thumb2 Data Proc | Thumb-2 32-bit Rotate Right with Extend. |
| rsb.w | RSB.W <Rd>, <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit reverse subtract. |
| sbc.w | SBC.W <Rd>, <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit subtract with carry. |
| stm.w | STM.W <Rn>{!}, <registers> | Thumb Store Multiple | Thumb-2 32-bit Store Multiple. |
| str.w | STR.W <Rt>, [<Rn>, #<imm>] | Thumb Store | Thumb-2 32-bit Store Word. |
| strb.w | STRB.W <Rt>, [<Rn>, #<imm>] | Thumb Store | Thumb-2 32-bit Store Byte. |
| strh.w | STRH.W <Rt>, [<Rn>, #<imm>] | Thumb Store | Thumb-2 32-bit Store Halfword. |
| sub.w | SUB.W <Rd>, <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit subtract. |
| teq.w | TEQ.W <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit Test Equivalence (XOR and update flags). |
| tst.w | TST.W <Rn>, <Operand2> | Thumb2 Data Proc | Thumb-2 32-bit Test (AND and update flags). |