|
---------异常返回时PC值的问题---------------
如果发生IRQ时,则 PC=LR-4
例如:
指令A
指令B
指令C
----
在执行完毕指令A后,处理器扫描CPSR,发现有IRQ中断,则执行LR=PC+8-4=PC+4
返回时,执行PC=LR-4=PC(问题1:此时PC是A地址 还是 B地址???)
我个人感觉应该是B地址,如果A地址的话,那么不就重复执行了一次A指令了吗?
问题2:如果,我猜测是正确的话,那么在执行A指令之后,PC会“赶紧” +4,先于 进入中断处理程序???
|
|