ARM的37个寄存器
来源:互联网 发布:git本地仓库 windows 编辑:程序博客网 时间:2024/06/16 01:33
1 ARM寄存器
这里看到的就是ARM内核里面的所有寄存器了,一共有37个。我们前面说过,ARM体系一共有7种模式,其中用户模式和系统模式拥有物理空间上完全相同的寄存器,而其它5种异常模式都有一些自己独立的寄存器。我们看图中左边显示的是当前模式的可见的寄存器,右边显示的是其它模式备用的寄存器。其中黑色的部分为当前模式与用户模式共用的寄存器,而彩色部分为各个寄存器独立物理空间的寄存器。这样安排的好处是当各种异常发生的时候,每种异常模式都可以保存一些重要的数据,使异常处理程序完成之后返回异常前的程序时不会破坏原有的寄存器或状态。
1、ARM总共有37个寄存器,但是每种模式下最多只能看到18个寄存器,其他寄存器虽然名字相同但是在当前模式不可见。
2、对r13这个名字来说,在ARM中共有6个名叫r13(又叫sp)的寄存器,但是在每种特定处理器模式下,只有一个r13是当前可见的,其他的r13必须切换到他的对应模式下才能看到。这种设计叫影子寄存器(banked
register)。
ARM共有37个寄存器,都是32位长度。
37个寄存器中30个为“通用”型,1个固定用作PC,一个固定用作CPSR,5个固定用作5种异常模式下的SPSR。
2 CPSR程序状态寄存器
注意
- CPSR中各个bit位表明了CPU的某些状态信息,这些信息非常重要,和后面学到的汇编指令息息相关(譬如BLE指令中的E就和CPSR中的Z标志位有关)。
- CPSR中的I、F位和开中断、关中断有关。
- CPSR中的mode位(bit4~bit0共5位)决定了CPU的工作模式,在uboot代码中会使用汇编进行设置。
3 PC(r15)程序控制寄存器
PC(Program control register)为程序指针,PC指向哪里,CPU就会执行哪条指令(所以程序跳转时就是把目标地址代码放到PC中),整个CPU中只有一个PC(CPSR也只有一个,但SPSR有5个)。
阅读全文
0 0
- ARM的37个寄存器
- ARM的37个寄存器介绍
- 1.11.ARM的37个寄存器详解
- ARM的37个寄存器详解
- ARM第一部分-ARM的37个寄存器详解
- arm 37个通用寄存器
- arm 37个通用寄存器
- ARM的7种工作模式、37个通用寄存器、CPSR程序状态寄存器
- Arm汇编学习笔记(四)——Arm的37个寄存器和异常处理
- ARM的7中工作模式和37个通用寄存器
- S5PV210系列(裸机二) ARM的编程模式、7种模式和37个寄存器
- ARM寄存器的定义
- ARM的FP寄存器
- ARM的FP寄存器
- ARM的FP寄存器
- Arm的寄存器
- ARM微处理器的寄存器结构
- linux ARM寄存器的介绍
- IDEA常用快捷键
- MD5加密
- java死锁
- 第三周第1课——线性表
- 设计模式读书笔记---观察者模式
- ARM的37个寄存器
- DQL,DML,DDL,DCL,TCL分别有哪些
- Could not find com.android.support:support-v4:26.0.2
- bootstrap基础(一)
- 设计模式读书笔记-----装饰者模式
- linux/unix 下修改oracle数据库实例名
- HDU 2883 kebab 最大流建模
- 内存对齐详解
- ???Visible Surface