ARM共有37个寄存器。其中31个通用寄存器和6个状态寄存器。

一般通用寄存器R0-R12

R0-7为未分组寄存器;R8-12为分组寄存器。

未分组寄存器:在任何模式下,指向的都是同一个32位的物理寄存器。

分组寄存器:在不同的模式下,同一个寄存器名称对应这不同的物理寄存器。

堆栈指针R13(SP:Stack Pointer)

程序进入异常模式时,可以将需要保护的寄存器数据放入R13中。当程序从异常模式返回时,则从对应的堆栈中恢复数据。

链接寄存器R14(LR:Link Register)

  1. 存储当前子程序的返回地址
  2. 当异常或中断发生时,被设置为要返回的地址

程序计数器R15(PC:Programm Counter)

指向下一条要读取指令的地址

当前程序状态寄存器(CPSR:Current Programm Status Register)

用来存储当前程序状态寄存器的内容:条件标志位、中断禁止位、当前处理器模式和其他状态和控制信息。

条件标志位

模式标志位

1—ARM中的寄存器的更多相关文章

  1. ARM中R0-R15寄存器的作用

    根据“ARM-thumb 过程调用标准”: 注意:在中断程序中,所有的寄存器都必须保护,编译器会自动保护R4-R11

  2. 大脸猫讲逆向之ARM汇编中PC寄存器详解

    i春秋作家:v4ever 近日,在研究一些开源native层hook方案的实现方式,并据此对ARM汇编层中容易出问题的一些地方做了整理,以便后来人能有从中有所收获并应用于现实问题中.当然,文中许多介绍 ...

  3. ARM处理器的寄存器,ARM与Thumb状态,7中运行模式

     ** ARM处理器的寄存器,ARM与Thumb状态,7中运行模式  分类: 嵌入式 ARM处理器工作模式一共有 7 种 : USR  模式    正常用户模式,程序正常执行模式 FIQ模式(Fast ...

  4. [转载]ARM协处理器CP15寄存器详解

    用于系统存储管理的协处理器CP15  原地址:http://blog.csdn.net/gameit/article/details/13169405 MCR{cond}     coproc,opc ...

  5. ARM中MMU地址转换理解

    首先,我们要分清ARM CPU上的三个地址:虚拟地址(VA,Virtual Address).变换后的虚拟地址(MVA,Modified Virtual Address).物理地址(PA,Physic ...

  6. ARM中的汇编指令

    Arm指令,32位的指令集,一共有16条的基本指令,每条指令都可以按条件执行, 指令都是32bit的,高四位是条件码[31:28], Thumb指令,16位的指令集,执行效率比arm指令集要低,但是节 ...

  7. ARM 中必须明白的几个概念

    文章具体介绍了关于ARM的22个常用概念. 1.ARM中一些常见英文缩写解释 MSB:最高有效位: LSB:最低有效位: AHB:先进的高性能总线: VPB:连接片内外设功能的VLSI外设总线: EM ...

  8. ARM协处理器CP15寄存器详解【转】

    本文转载i自;https://blog.csdn.net/gameit/article/details/13169405 用于系统存储管理的协处理器CP15   MCR{cond}     copro ...

  9. ARM协处理器CP15寄存器详解

    改自:https://blog.csdn.net/gameit/article/details/13169405 *C2描述的不对,bit[31-14]才是TTB,不是所有的bit去存储ttb.很明显 ...

随机推荐

  1. MySQL查询缓存总结

    可以通过下面的SQL查看当前查询缓存相关参数状态: show variables like '%query_cache%'; 1)  query_cache_type 查询缓存类型: 0 表示始终不适 ...

  2. 小程序之 swiper高度根据图片高度变化

    今天做的是这个效果⬇️  swiper的高度根据图片的高度而改变 wxml:<swiper indicator-dots="{{indicatorDots}}" vertic ...

  3. structure streaming笔记

    基于micro-batch, spark2.3之后, 支持continues processing 基于spark SQL 如同在静态table上运行标准批查询一样表现流计算, spark 通过在一个 ...

  4. PowerDesigner概念(概念数据模型概述)

  5. Android虹软人脸识别sdk使用工具类

    public class FaceUtil { private static final String TAG = FaceUtil.class.getSimpleName(); private st ...

  6. Hadoop OutputCommitter

    1. OutputCommitters MapReduce使用一个提交协议来确保作业(job)和任务(task)都完全成功或失败.这个通过 OutputCommiter来实现. 新版本 MapRedu ...

  7. 超详细的java集合讲解

    1 集合 1.1 为什么会出现集合框架 [1] 之前的数组作为容器时,不能自动拓容 [2] 数值在进行添加和删除操作时,需要开发者自己实现添加和删除. 1.2 Collection接口 1.2.1 C ...

  8. 虚函数 error LNK2001: 无法解析的外部符号 "public: virtual void __cdecl

    在虚函数后面加一对大括号 #ifndef CAFFE_CONV_DW_LAYER_HPP_ #define CAFFE_CONV_DW_LAYER_HPP_ #include <vector&g ...

  9. Log4Net 常见格式说明(不断更新中)

    用户名  %username pc版本 另起一行 %newline

  10. Linux-KVM

    一.安装 ①直接使用yum安装:yum -yq install qemu-kvm qemu-kvm-tools virt-install qemu-img bridge-utils libvirt v ...