2.6.4.6.2 Operation
LDM
instructions load the registers in
reglist
with word values from memory addresses based on
Rn
.
STM
instructions store the word values in the registers
in reglist to memory addresses based on Rn.
For LDM
, LDMIA
, LDMFD
,
STM
, STMIA
, and STMEA
the memory
addresses used for the accesses are at 4-byte intervals ranging from Rn
to
Rn + 4 * (n-1), where n is the number of registers in reglist
. The
accesses happens in order of increasing register numbers, with the lowest numbered register
using the lowest memory address and the highest number register using the highest memory
address. If the writeback suffix is specified, the value of Rn + 4 * (n-1) is written back
to Rn
.
For LDMDB
, LDMEA
,
STMDB
, and STMFD
the memory addresses used for the
accesses are at 4-byte intervals ranging from Rn to Rn - 4 * (n-1), where n is the number
of registers in reglist
. The accesses happen in order of decreasing
register numbers, with the highest numbered register using the highest memory address and
the lowest number register using the lowest memory address. If the writeback suffix is
specified, the value of Rn - 4 * (n-1) is written back to Rn
.
The PUSH
and POP
instructions can be
expressed in this form. For more information, see 2.6.4.7 PUSH and POP.