arm 各种异常返回时,对返回地址的调整不同
各种异常返回时,对返回地址的调整不同
1.复位不需要返回
2.SWI/UND;指令本身引发的中断
movs pc,r14_swi/und
3.FIQ/IRQ/Prefetch:
subs pc,r14_fiq/irq/prefetch,#4
4.DataABT:
subs pc,r14_dataabt,#8
有谁能够解释一下为什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
个人认为,对一般开发而言,只需要在异常产生之后查看LR中的值即可,根据这一方法足以定位问题,不必深究其细节。至于为什么有所区别,记得《ARM软件设计与优化》这本书中有讲。