ARM寄存器简介

ARM处理器共有37个寄存器。其中包括:31个通用寄存器,包括程序计数器(PC)在内,以及6个32位状态寄存器。
ARM处理器共有7种不同的处理器模式,在每一种处理器模式中有一组相应的寄存器组。
任意的处理器模式下,都可见的寄存器包括15个通用寄存器(R0~R14)、一个或两个状态寄存器及程序计数器(PC)。
在所有的寄存器中,有些是各模式共用的同一个物理寄存器;有一些寄存器是各模式自己拥有的独立的物理寄存器。ARM寄存器简介_第1张图片
其中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寄存器简介_第2张图片
当处理器处于ARM状态时,每条ARM指令为4个字节,所以PC寄存器的值为当前指令地址 + 8字节,当处理器处于Thumb状态时,每条Thumb指令为2字节,所以PC寄存器的值为当前指令地址 + 4字节。

你可能感兴趣的:(arm)