首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >smc调用的即时值存储在哪里?

smc调用的即时值存储在哪里?
EN

Stack Overflow用户
提问于 2014-11-24 17:38:14
回答 1查看 1.1K关注 0票数 1

我正在研究raspberry pi B+上的信任区域扩展,它有ARM1176JZF-S处理器。

用于在世界之间切换的smc (Secure )指令形式如下:

"SMC #imm4" eg : smc #0

我正在尝试从smc异常处理程序中检索此值。我最初的假设是,它可能存储在R0寄存器中。但我得到的价值和我过去的不一样。那么,这个值存储在哪里呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-24 18:14:23

此值是指令操作代码的一部分。您需要在返回地址读取内存,解析操作码并提取即时值。

由于这样的操作相对于读取存储寄存器来说可能有些昂贵,所以一种常见的方法是使用处理器寄存器来指定要执行的操作。事实上,ARM已经开发了"SMC呼叫公约“,它建议使用R0作为"SMC函数标识符“和R1-R6作为参数。

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

https://stackoverflow.com/questions/27110839

复制
相关文章

相似问题

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