目录
3、FIQ使能位 Bit[6] / IRQ使能位 Bit[7]
一、寄存器的概念
1、什么是寄存器?
寄存器是CPU内部的存储器,没有地址。一般用于暂时存放参与运算的数据和结果,比如CPU在做加法运算的时候,加数、被加数以及产生的结果都是暂存在寄存器里。

2、寄存器的分类
寄存器分为三种类型,分别是通用寄存器、专用寄存器、控制寄存器。
通用寄存器指的是没有指定用途,可以存放任意内容的寄存器。既可以存放地址,也可以存放参与运算的数据或者运算产生的结果。
专用寄存器指的是有着指定用途,只能存放指定内容的寄存器。比如程序计数器PC 用于存放下一个要执行的指令的地址、SP用于存放栈顶元素的地址。
控制寄存器指的是用于控制当前CPU运行状态或者运算状态的寄存器。比如CPSR寄存器用于可以用于控制CPU当前所处工作模式,以及保存运算时的进位状态。
3、不同工作模式下使用的寄存器
看下面这个图的时候要以列为单位观察,每一列代表一种工作模式,不同工作模式使用的寄存器也不尽相同。不带三角形符号的表示不同工作模式之间可以共用的寄存器,如r0~r7是所有工作模式都可以共用的寄存器;带三角形符号的表示某一工作模式下特有的寄存器,其他工作模式无法使用该寄存器。

注意:图中虽然看着有很多寄存器,但实际上很多寄存器是可以共用的,算上共用和特有寄存器,一个处理器中仅有40个寄存器。
二、常见专用寄存器
1、R15(PC,Program Counter)
程序计数器,用于存储当前取址指令的地址。我们写的程序在经过预处理、编译、汇编以后,得到的二进制机器码就是指令。这些指令是被保存在内存中的,CPU接下来要执行哪一条指令都是由PC控制的。

我们写程序时的逻辑是顺序执行,那么CPU在执行指令的时候也是如此,在ARM状态下,每一条指令都占4个字节,所以每执行完一条指令,PC的值会自动自增4个字节,为下一次取指令做准备
2、R14(LR,Link Register)
链接寄存器,也是保存指令地址,一般是发生跳转的时候,事先保存跳转指令下一条指令的地址,一般有两种用途。
寄存器与CPSR详解

本文介绍了寄存器的基本概念,包括通用寄存器、专用寄存器及控制寄存器CPSR的功能与作用。详细解析了CPSR各比特位的意义及其在不同工作模式下的应用。
最低0.47元/天 解锁文章
3502

被折叠的 条评论
为什么被折叠?



