Introduction
ARM DDI 0301H Copyright © 2004-2009 ARM Limited. All rights reserved. 1-46
ID012310 Non-Confidential, Unrestricted Access
Signed halfword
LDRSH <Rd>, [<Rn>, <Rm>]
Byte
LDRB <Rd>, [<Rn>, <Rm>]
Signed byte
LDRSB <Rd>, [<Rn>, <Rm>]
PC-relative
LDR <Rd>, [PC, #<immed_8*4>]
SP-relative
LDR <Rd>, [SP, #<immed_8*4>]
Multiple
LDMIA <Rn>!, <reglist>
Store With immediate offset -
Word
STR <Rd>, [<Rn>, #<immed_5*4>]
Halfword
STRH <Rd>, [<Rn>, #<immed_5*2>]
Byte
STRB <Rd>, [<Rn>, #<immed_5>]
With register offset -
Word
STR <Rd>, [<Rn>, <Rm>]
Halfword
STRH <Rd>, [<Rn>, <Rm>]
Byte
STRB <Rd>, [<Rn>, <Rm>]
SP-relative
STR <Rd>, [SP, #<immed_8*4>]
Multiple
STMIA <Rn>!, <reglist>
Push/Pop Push registers onto stack
PUSH <reglist>
Push LR and registers onto stack
PUSH <reglist, LR>
Pop registers from stack
POP <reglist>
Pop registers and PC from stack
POP <reglist, PC>
Change state Change processor state
CPS <effect> <iflags>
Change endianness
SETEND <endian_specifier>
Byte-reverse Byte-reverse word
REV <Rd>, <Rm>
Byte-reverse halfword
REV16 <Rd>, <Rm>
Byte-reverse signed halfword
REVSH <Rd>, <Rm>
Supervisor call
SVC <immed_8>
Software breakpoint
BKPT <immed_8>
Sign or zero extend Sign extend 16 to 32
SXTH<Rd>, <Rm>
Sign extend 8 to 32
SXTB<Rd>, <Rm>
Zero extend 16 to 32
UXTH<Rd>, <Rm>
Zero extend 8 to 32
UXTB<Rd>, <Rm>
Table 1-16 Thumb instruction set summary (continued)
Operation Assembler