.thumb .syntax unified T: blx r4 blx r9 bx r4 bx r9 tt r0, r1 tt r8, r9 ttt r0, r1 ttt r8, r9 movw r0, #0xF123 @ mov accept all immediate formats, including T3. It's also the suggested @ assembly to use. mov r8, #0xF123 @ .w means wide, specifies that the assembler must select a 32-bit encoding for @ the instruction if it is possible, it should accept both T2 (Thumb modified @ immediate) and T3 (UINT16) encoding. See the section "Standard assembler @ syntax fields" on latest ARM-ARM. mov.w r8, #0xF123 movw r8, #0xF123 movt r0, #0xF123 movt r8, #0xF123 cbz r4, .L1 cbnz r4, .L1 b.w .L1 sdiv r0, r1, r2 sdiv r8, r9, r10 udiv r0, r1, r2 udiv r8, r9, r10 .L1: add r0, r1 clrex ldrex r0, [r1, #0x4] ldrexb r0, [r1] ldrexh r0, [r1] strex r0, r1, [r2, #0x4] strexb r0, r1, [r2] strexh r0, r1, [r2] lda r0, [r1] ldab r0, [r1] ldah r0, [r1] stl r0, [r1] stlb r0, [r1] stlh r0, [r1] ldaex r0, [r1] ldaexb r0, [r1] ldaexh r0, [r1] stlex r0, r1, [r2] stlexb r0, r1, [r2] stlexh r0, r1, [r2]