ARM寄存器简介

ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内,以及6个32位状态寄存器。
ARM处理器共有7种不同的处理器模式,在每一种处理器模式中有一组相应的寄存器组。
任意的处理器模式下,都可见的寄存器包括15个通用寄存器(R0~R14)、一个或两个状态寄存器及程序计数器(PC)。
在所有的寄存器中,有些是各模式共用的同一个物理寄存器;有一些寄存器是各模式自己拥有的独立的物理寄存器。在这里插入图片描述
其中ARM汇编器对ARM的寄存器进行了预定义,所有的寄存器和协处理器名都是大小写敏感的.预定义的寄存器如下:
1 Ro-R15和r0-r15
2 a1-a4(参数,结果或者临时寄存器,与r0-r3同意)
3 v1-v8(变量寄存器,与r4-r11同意)
4 sb和SB(静态基址寄存器,与r9同意)
5 sl和SL(堆栈限制寄存器,与r10同意)
6 fp和FP(帧指针,与r11同意)
7 ip和IP(过程调用中间临时寄存器,与r12同意)
8 sp和SP(堆栈指针,与r13同意)
9 lr和LR(链接寄存器,与r14同意)
10 pc和PC(程序计数器,与r15同意)
11 cpsr和CPSR(程序状态寄存器)
12 spsr和SPSR(程序状态寄存器)
13 f0-f7和F0-F7(FPA寄存器)
14 s0-s31和S0-S31(VFP单精度寄存器)
15 d0-d15和D0-D15(VFP双精度寄存器)
16 p0-p15(协处理器0-15)
17 c0-c15(协处理器寄存器0-15)
转载:

https://blog.csdn.net/liweigao01/article/details/91417674

协处理器寄存器简介:

https://www.cnblogs.com/zhangpengshou/p/3606557.html

ARM7处理器采用了三级流水线结构,包括取指(fetch)、译码(decode)、执行(execute)三级),如上图所示,在执行add r0, r1, #5指令时,第二条指令正在译码阶段,而第三条指令正在取指阶段。在执行第一条指令时,PC寄存器应指向第三条指令。也即,当处理器为三级流水线结构时,PC寄存器总是指向随后的第三条指令;
在这里插入图片描述
当处理器处于ARM状态时,每条ARM指令为4个字节,所以PC寄存器的值为当前指令地址 + 8字节,当处理器处于Thumb状态时,每条Thumb指令为2字节,所以PC寄存器的值为当前指令地址 + 4字节。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值