首页 > 解决方案 > ARM,16个寄存器中哪个是CPSR?

问题描述

我现在有点困惑,下表显示了据我所知程序员可用的 ARM 寄存器:

| Register Name    | Register Number | Usage                |
| ---------------- | --------------- | -------------------- |
| r0 - r10         | 0 - 10          | General Purpose      |
| r11 or fp        | 11              | Frame Pointer        |
| r12 or ip        | 12              | Intraprocess scratch |
| r13 or sp        | 13              | Stack Pointer        |
| r14 or lr        | 14              | Link Register        |
| r15 or pc        | 15              | Program Counter      |

TST但也有例如由指令处理的 CPSR 。所以我的问题是,16 个寄存器中的哪一个是 CPSR?

标签: assemblyarmcpu-registers

解决方案


他们都没有。这不是所有机器寄存器的完整列表,只有通用寄存器( r0-r14) 和程序计数器。机器还有很多非通用的寄存器,CPSR就是其中之一。事实上,在我的 armv8 架构参考手册副本中,CPSR 被明确称为“专用”寄存器。


推荐阅读