首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当分支跟随负载时正确处理数据中止异常

当分支跟随负载时正确处理数据中止异常
EN

Stack Overflow用户
提问于 2014-04-26 20:50:48
回答 1查看 374关注 0票数 0

对于在ARM CPU上处理数据异常的正确方法,我有些困惑。

例如,文档指出,当输入数据中止异常状态时,LR寄存器被设置为PC-8的地址。我假设在错误加载或存储指令之后的2条指令被取出到管道中。但返回PC-8地址真的安全吗?如果紧接错误加载指令之后的指令是一个分支,那该怎么办?这是否意味着PC寄存器实际上被设置为分支目标指令,而不是顺序跟随加载指令的寄存器。在这种情况下,返回到PC-8将返回到程序中的某个随机位置,在分支目的地之后的2步),而不是错误的加载指令。我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-26 23:24:45

如果一个LDRSTR中止,下面两个指令中的一个是分支,那么分支还没有产生任何效果,而中止模式的LR将包含中止指令+ 8的地址。因此,如果您想要重新执行中止指令,那么LR-8就是要返回的地址。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23316378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档