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 PUSH and POP.
