$IRQ_Label
SUB LR, LR, #4 ; 计算返回地址
STMFD SP!, {R0-R3, R12, LR} ; 保存任务环境
MRS R3, SPSR ; 保存状态
STMFD SP, {R3, SP, LR}^
我也遇到了这个问题没有能理解,上面的是IRQ中,发生IRQ中断后进入的IRQ模式,此时SPSR保存的是中断前(用户模式或系统模式)的CPSR,关键是STMFD SP, {R3, SP, LR}^ 不能理解,SP没有回写,不知道R3,SP,LR能不能被写入到IRQ的堆栈中,我在KEILL下软仿真发现SP地址没有变化,很奇怪。还有后面^标号不是在有PC时才用到吗?
|