2.6.4.6.1 Syntax

op{addr_mode}{cond} Rn{!}, reglist

where:

  • op is one of:
    • LDM (Load Multiple registers)
    • STM (Store Multiple registers)
  • addr_mode is one of:
    • IA (Increment address After each access.) This is the default.
    • DB (Decrement address Before each access.)
  • cond is an optional condition code, see 2.6.3.7 Conditional Execution.
  • Rn is the register on which the memory addresses are based.
  • ! is an optional writeback suffix. If ! is present the final address, that is loaded from or stored to, is written back into Rn.
  • reglist is a list of one or more registers to be loaded or stored, enclosed in braces. It can contain register ranges. It must be comma separated if it contains more than one register or register range.

LDM and LDMFD are synonyms for LDMIA. LDMFD refers to its use for popping data from Full Descending stacks.

LDMEA is a synonym for LDMDB, and refers to its use for popping data from Empty Ascending stacks.

STM and STMEA are synonyms for STMIA. STMEA refers to its use for pushing data onto Empty Ascending stacks.

STMFD is s synonym for STMDB, and refers to its use for pushing data onto Full Descending stacks.