ARM指令含义

You*_*Yoo 3 assembly arm

 sub     lr,lr,#4
 stmfd   sp!,{lr}
 stmfd   sp!,{r0-r14}^
 mrs     r1,spsr
 stmfd   sp!,{r1}
 bl      irqHandler
 ldmfd   sp!,{r1}
 msr     spsr_cxsf,r1
 ldmfd   sp!,{pc}^
 bl      irqHandler
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我这个'^'意味着T_T有什么不同

stmfd   sp!,{r0-r14}^
Run Code Online (Sandbox Code Playgroud)

stmfd   sp!,{r0-r14}
Run Code Online (Sandbox Code Playgroud)

????

Wil*_*eld 5

ARM手册:

^

是可选后缀.您不能在用户模式或系统模式下使用它.它有两个目的:如果op是LDM且reglist包含pc(r15),则除了正常的多寄存器传输外,SPSR还会复制到CPSR中.这是从异常处理程序返回.仅在例外模式下使用此选项.否则,数据被传入或传出用户模式寄存器,而不是当前模式寄存器.