ARM处理器的中断时,是否会执行完当前指令?

发布于 2022-08-25 11:37:50 字数 44 浏览 23 评论 0

在中断处理完毕返回时,pc 指向哪里,发生中断的指令是否会重新执行 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

昵称有卵用 2022-09-01 11:37:50

pc 指向lr寄存器啊 响应中断前会保存当前的地址到 lr 寄存器的 处理完中断后会去lr寄存器取响应中断前的地址的啊

发生中断的指令是否会重新执行? 这是不会的 因为响应中断时 会设置禁止其他中断的,这个寄存器名忘了。

九厘米的零° 2022-09-01 11:37:50

答曰:标题问句答案:会执行完当前指令 内容问句答案:不会重新执行
中断信号来临时,必须等待当前指令执行完成才能生效。
中断信号可以是在时间上随机的,但是指令的执行必须以“机器周期”为基本单位,具有“原子性”。
中断前当前指令的下一条指令地址被保存;中断钱中断函数执行完毕,将该保存地址加载到PC执行。

半衾梦 2022-09-01 11:37:50

软中断和一般中断不一样,软中断不会不会执行当前指令,即PC值不会更新。LR=PC-4一般中断是执行完当前指令后,PC值更新。更新后的PC值是PC=PC+8,然后LR=PC-4.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文