语法:

stm{条件}{寻址方式} 基址寄存器{!} 目的寄存器列表

备注:

  • {条件}
    可选项
  • {寻址方式}
    可选项
    可参见: https://www.softool.cn/read/arm_assembly/iaibdadb.html
  • 基址寄存器
    作为数据复制后放到该基址寄存器所表示的地址
  • {!}
    可选项 如果有该符合,则在指令被执行之后,将 pc 的地址更新给基址寄存器
    寄存器列表

复制方向:

\dashleftarrow

功能:

将 目的寄存器列表中的数据 复制到 基址寄存器所表示的地址 中;

示例:

我们下面来看看STMFD的执行过程,示例代码如下:

stmfd    sp!,{r6-r7,r14}

我们先看看上面代码执行前,在我的调试环境中涉及到的各个变量值:

r6 = 0x11223344
r7 = 0x55667788
r14= 0x32000008
sp = 0x33FF7000

stm - 图1


代码执行后:

stm - 图2