正在研究arm异常处理的基础知识,并产生了这样的疑问:(我正在以中止异常为例),让我们假设处理器正在以用户模式运行。
当异常发生时,处理器将当前pc保存到abort_mode LR,CPSR保存到中止模式SPSR,执行跳转到中止的向量地址,因此PC现在将包含中止的矢量地址。
因此,在将流传输到中止模式(将pc转到中止向量)之前,我在这里得到的是。CPU将执行以下任务:“当前pc到abort_mode LR,CPSR到中止模式SPSR,然后执行跳转到该中止的向量地址,”如上所述。在哪种模式下,从哪里执行指令来执行上述任务?
发布于 2013-05-09 08:27:48
当出现中止异常时,引用的文本是正确的。其他异常使用不同的模式。
将PC复制到异常模式LR,将CPSR复制到SPSR,并将PC设置为异常向量,这是处理器在接收异常时自动为您所做的。不需要任何指示。它还切换到该异常模式使用的SP。
异常处理程序是接下来要做的。完全在软件领域。
https://stackoverflow.com/questions/16456764
复制相似问题