正在进行手臂异常处理的基础知识,并对此产生怀疑: (我以中止例外为例) 让我们假设处理器在用户模式下运行。
当发生异常时,处理器会将当前pc
保存到abort_mode LR
并将CPSR
保存到中止模式SPSR
并执行跳转为了中止的向量地址,所以PC
现在将包含中止的向量地址。
所以我得到的是在将流转移到中止模式之前(让pc中止向量)。
CPU将执行以下任务:
“当前pc
到abort_mode LR
和CPSR
到中止模式SPSR
然后执行跳转到向量地址进行中止,”如上所述。
在哪种模式和执行指令的地方执行上述任务?
答案 0 :(得分:3)
当发生 abort 异常时,您引用的文本是正确的。其他例外使用不同的模式。
将PC复制到异常模式LR和将CPSR复制到SPSR并将PC设置为异常向量是处理器在处理异常时自动为您执行的操作。没有说明。它还会切换到该异常模式使用的SP。
下一步是异常处理程序。并完全是软件。