A32指令集中包含多数据传输指令LDM和STM,也就是单条指令可以传输多个寄存器的值与内存交互,这对于数据块传输以及寄存器的压入栈很有帮助。LDM和STM指令可分别用于实现堆栈的pop和push操作。对于堆栈操作,基寄存器通常是堆栈指针(SP)。
LDM和STM可以与几种类型的堆栈后缀一起使用,形成不同的寻址模式。
为了方便程序员,可以使用面向堆栈的后缀来代替自增或自减。下表展示了面向堆栈的后缀及其等效的寻址模式后缀:
下图为FD/ED/FA/EA模式的示意。
下表列出了LDM和STM带有堆栈后缀的指令:
下表列出了不同寻址模式如何计算指令地址。