试题详情
简答题当出现异常时,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从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程处。
  • 关注下方微信公众号,在线模考后查看

热门试题