gpt4 book ai didi

arm - 显式访问 ARM 上的存储寄存器

转载 作者:行者123 更新时间:2023-12-04 03:35:01 30 4
gpt4 key购买 nike

根据 ARM 手册,应该可以访问特定 CPU 模式的存储寄存器,例如“r13_svc”。当我尝试执行此操作时,gcc 对我大喊大叫,并显示以下错误:

立即表达式需要 # 前缀 -- `mov r2,sp_svc'

怎么了?

更新。以下来自 ARMv5 和 ARMv6 的 ARM 架构引用手册的文本让我相信这是可能的,第 A2.4.2 节:

Registers R13 and R14 have six banked physical registers each. One is used in User and System modes, and each of the remaining five is used in one of the five exception modes. Where it is necessary to be specific about which version is being referred to, you use names of the form: R13_mode R14_mode where mode is the appropriate one of usr, svc (for Supervisor mode), abt, und, irq and fiq.

最佳答案

我认为 mov 是不可能的操作说明;至少根据我正在阅读的 ARM 架构引用手册。你有什么文件? ldm有一个变种可以从特权模式加载用户模式寄存器(使用 ^ )。您唯一的其他选择是切换到 SVC 模式,执行 mov r2, sp ,然后切换回您使用的任何其他模式。

你得到的错误是因为它不理解 sp_svc ,因此它认为您正在尝试立即执行 mov , 看起来像:

mov r2, #0x14

所以这就是为什么它说“需要 # 前缀”。

关于arm - 显式访问 ARM 上的存储寄存器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2784978/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com