×
嵌入式开发 > 详情

ARM微处理器的编程模型之:ARM寄存器组织

发布时间:2020-07-10 发布时间:
|

3.3 ARM寄存器组织

ARM处理器有37个32位长的寄存器。

· 1个用作PC(Program Counter)。

· 1个用作CPSR(Current Program Status Register)。

· 5个用作SPSR(Saved Program Status Registers)。

· 30个用作通用寄存器。

注意

以上37个寄存器中,1个CPSR和5个SPSR通称为状态寄存器,虽然这些寄存器是32位的,但目前只使用了其中的12位。除了这6个状态寄存器外,其余的31个寄存器又称为通用寄存器。

ARM处理器共有7种不同的处理器模式,在每一种处理器模式中有一组相应的寄存器组。表3.2显示了ARM的寄存器组织概要。

表3.2 寄存器组织概要

User

FIQ

IRQ

SVC

Undef

Abort

R0

User mode
R0~R7,R15,and CPSR

User mode
R0~R12,R15

and CPSR

User mode
R0~R12,R15

and CPSR

User mode R0~R12,R15

and CPSR

User mode R0~R12,R15

and CPSR

R1

R2

R3

R4

R5

R6

R7

R8

R8

R9

R9

R10

R10

续表

User

FIQ

IRQ

SVC

Undef

Abort

R11

R11

R12

R12

R13(SP)

R13(SP)

R13

R13

R13

R13

R14(LR)

R14(LR)

R14

R14

R14

R14

R15(PC)

CPSR

SPSR

SPSR

SPSR

SPSR

SPSR

注意

System模式使用和User模式相同的寄存器集

当前处理器的模式决定着哪组寄存器可操作,任何模式都可以存取。

· 相应的r0~r12。

· 相应的r13(the stack pointer, sp)和r14(the link register, lr)。

· 相应的r15(the program counter, pc)。

· 相应的CPSR(current program status register, cpsr)。

特权模式(除System模式)还可以存取。

· 相应的SPSR(saved program status register)。

3.3.1 通用寄存器

通用寄存器根据其分组与否和使用目的分为以下3类。

· 未分组寄存器(The unbanked registers),包括r0~r7。

· 分组寄存器(The banked register),包括r8~r14。

· 程序计数器(Program Counter),即r15。





『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
NXP推出Wi-Fi 6E三频段SOC 充分释放6GHz频谱潜力