简答题

当出现异常时,ARM微处理器会执行哪几步操作?

正确答案

(1)将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。若异常是从ARM状态进入,则LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。例如:在软件中断异常SWI,指令MOVPC,R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行;
(2)将CPSR复制到相应的SPSR中;
(3)根据异常类型,强制设置CPSR的运行模式位;
(4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程处。

答案解析

相似试题
  • 当处理异常时,ARM内核会做哪些处理?

    简答题查看答案

  • 当异常结束时,ARM内核会做哪些处理?

    简答题查看答案

  • ARM微处理器中状态寄存器的低8位称为控制位,发生异常时这些位可以被改变,但当处理器运行特权模式,这些位不可以改变。()

    判断题查看答案

  • ARM处理器正常的程序执行状态是在()模式下。

    单选题查看答案

  • ARM处理器的异常的正确理解应该是()

    单选题查看答案

  • ARM微处理器的运行模式有有哪几种,请列举并说明。

    简答题查看答案

  • 中断处理过程分为哪几步?

    简答题查看答案

  • 关于ARM处理器的异常的描述不正确的是()

    单选题查看答案

  • 关于ARM处理器的异常向量表的描述正确的是()

    单选题查看答案