第2章ARM技术与ARM体系结构—内部寄存器

ARM处理器共有37个寄存器,这些寄存器包括以下两类寄存器。

31个通用寄存器:包括程序计数器PC等,这些寄存器都是32位寄存器。

6个状态寄存器:状态寄存器也是32位的寄存器,但目前只使用了其中的14位。

一、通用寄存器及其分布

在ARM处理器的7种模式下,每种工作模式都有一组与之对应的寄存器组。在任意时刻,可见的寄存器组包括15个通用的寄存器R0~R14、一个或两个状态寄存器和PC(程序计数器)。在所有的寄存器中,有些是与其余模式下共用的同一个物理寄存器,有些是其自己独立拥有的物理寄存器。

各种模式下寄存器分布情况如表2-2所示(ARM物理寄存器)。

31个通用的寄存器:R0~R14、PC、R13_svc、R14_svc、R13_abt、R14_abt、R13_und、R14_und、R13_irq、R14_irq、R8_fiq、R9_fiq、R10_fiq、R11_fiq、R12_fiq、R13_fiq、R14_fiq。

6个状态寄存器:CPSR、SPSR_svc、SPSR_abt、SPSR_und、SPSR_irq、SPSR_fiq。

根据各个模式所使用寄存器情况可将通用寄存器分为两大类:

1、纯通用寄存器

在表2-2中的R0~R7和PC(R15),这些寄存器7种工作模式都可以访问,这些寄存器是7种模式共用的,是真正意义上的通用寄存器。

由于ARM处理器采用的是流水线机制,当正确读取PC值时,该值为当前指令地址值加8字节。对于ARM指令来说,PC指向当前指令的下两条指令的地址,在AR

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值