详解ARM处理器寄存器与运行模式

本文详细介绍了ARM处理器的37个寄存器,包括31个通用寄存器和6个状态寄存器,以及7种运行模式:usr、fiq、irq、svc、abt、sys和und。每种模式有特定的寄存器组和程序状态寄存器,如R15作为程序计数器,R13作为堆栈指针,R14作为链接寄存器。此外,还讲解了Thumb工作状态和程序状态寄存器CPSR中的条件码标志和控制位。
摘要由CSDN通过智能技术生成

37个寄存器
ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄器包括:
31个通用寄存器:包括程序计数器(PC指针),均为32位的寄存器。
6个状态寄存器:用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。
7种运行模式
ARM微处理器支持7种运行模式,分别为:
usr(用户模式):ARM处理器正常程序执行模式。
fiq(快速中断模式):用于高速数据传输或通道处理
irq(外部中断模式):用于通用的中断处理
svc(管理模式):操作系统使用的保护模式
abt (数据访问终止模式): 当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
sys(系统模式): 运行具有特权的操作系统任务。
und(未定义指令中止模式):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变。大多数的应用程序运行在用户模式下,当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的。
除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(Privileged Modes);其中除去用户模式和系统模式以外的5种又称为异常模式(Exception Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。
ARM处理器在每一种处理器模式下均有一组相应的寄存器与之对应。即在任意一种处理器模式下,可访问的寄存器包括15个通用寄存器(R0~R14)、一至二个状态寄存器和程序计数器。在所有的寄存器中,有些是在7种处理器模式下共用的同一个

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值