【发布时间】:2013-06-20 20:29:56
【问题描述】:
我知道 ARM 有很多寄存器,我想知道寄存器(r0 - r15、cpsr 等)与它们在最终二进制文件中使用的二进制表示之间的映射是什么(基本上是什么值进入指令中的 Rn 和 Rd 字段)。例如,r0 是 0b0000 和 r1 只是 0b0001?如果是这样,当涉及到特定的 CPU 模式时,它是什么。还是CPU模式不影响寄存器的标识符(感觉应该是不同的代码)。
谢谢。
【问题讨论】:
-
如果你有访问ARM指令集的详细信息,你应该参考它。应该很简单。
-
@为什么你觉得应该不一样?
-
我有 2 个单独的 ARM 手册,它们引用了有关指令结构的所有内容(位是什么以及它们的含义),但它没有从寄存器到二进制关系的映射.
-
好吧,我认为它会有所不同,因为如果您处于 FIQ 模式,则进入该模式之前的 CPSR 会保存在 SPSR_fiq 中,然后在离开 FIQ 模式后再次可用,或者至少我如何理解它是。我想我还有很多阅读要做。