首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVC指令后svc模式程序的返回地址

SVC指令后svc模式程序的返回地址
EN

Stack Overflow用户
提问于 2018-07-08 22:16:37
回答 1查看 205关注 0票数 0

我对SVC指令后svc模式程序的返回过程感到困惑。假设当前处理器运行在SVC模式下,然后它被svc指令的软件中断中断,硬件将帮助将CPSR保存到SPSR_svc中,并将svc处理程序加载到PC中,将中断的程序地址加载到LR_svc中。要返回到SVC模式下被中断的正常程序,我们需要将LR_svc加载到PC,并将SPSR_svc加载到CPSR中。

我的问题是,在svc处理程序中,LR_svc被改变了,它的上下文是它被中断的程序地址,所以当程序返回到正常的SVC模式程序后,程序的LR被改变了,程序如何返回到它被调用的函数?

EN

回答 1

Stack Overflow用户

发布于 2018-07-09 17:31:13

因此在程序返回到正常

模式程序之后,程序的LR被改变

错误的假设。LR是为SVC模式存储的,因此在SVC处理程序中更改它不会更改用户模式的寄存器值。

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

https://stackoverflow.com/questions/51232851

复制
相关文章

相似问题

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