参考《ARM嵌入式系统基础教程》(第一版) P48 页“表3.5异常入口/出口”对于“BL,SWL,未定义的指令”看的很明白,但是对于“预取中止,快中断,中断,数据中止”就不是很明白了:<br /><br />1、为什么无论在ARM状态还是THUMB状态下“之前的状态”都是“PC+4”而不用区分PC+4(在ARM状态下)PC+2(在THUMB状态下)?<br />2、在P50页“不管异常入口来自ARM状态还是THUMB状态,FIQ处理程序都会通过执行下面的指令从中断返回:<br /> SUBS PC,R14_fiq,#4;( FIQ 中断)<br /> SUBS PC,R14_irq,#4;( IRQ 中断)<br /> 为什么“FIQ,IRQ”中断的时候不用区分在ARM状态下或是在THUMB状态下呢?<br /><br />请各位指教一二,谢谢!!<br /> |
|