ARM处理器模式及内部寄存器

ARM处理器模式及内部寄存器

一、ARM 处理器的七种模式
ARM体系结构支持7种处理器模式,分别为用户模式、系统模式、快中断模式、中断模式、管理模式、中止模式、未定义模式,这样可以更好的支持操作系统并提高工作效率。
在这里插入图片描述
二、ARM内部寄存器
在ARM7处理器内部有37个用户可见的寄存器,其中包括31个通用32位寄存器及6个状态寄存器。在不同的处理器模式和处理器状态下程序员可以访问的寄存器也不尽相同(每种模式下可以访问的寄存器不尽相同),部分寄存器后面带有后缀,如R8_flq,表示该寄存器在快中断模式下可以使用。寄存器R13、R14分别有6个分组的物理寄存器,一个用于用户和系统模式,其余5个分别用于5种异常模式。R13常作为堆栈指针(SP),R14为链接寄存器(LR)常用于保存程序的返回地址,R15为程序计数器(PC),它指向正在取指的地址(指向异常向量地址),CPSR为程序状态寄存器,SPSR为程序状态保存寄存器。
在这里插入图片描述
三、Thumb状态寄存器
Thumb状态寄存器集是ARM状态集的子集,程序员可以直接访问的寄存器为:8个通用寄存器R0~R7、程序计数器(PC)、堆栈指针(SP)、链接寄存器(LR)、有条件访问程序状态寄存器(CPSR)
在Thumb状态下,高位寄存器(R8~R15)不是标准寄存器的一部分。汇编语言程序员对它们的访问收到了限制,但可以将它们用于快速暂存。可以使用MOV、CMP、ADD指令对高寄存器进行操作。
在这里插入图片描述

四、程序状态寄存器(CPSR)
ARM7内核包含1个CPSR和5个供异常处理程序使用的SPSR,CPSR反映了当前处理器的状态,其中包括4个条件代码标志(NZCY)、2个中断禁止位、5个对当前处理器模式进行编码的位、1个用于指示当前执行指令(是ARM还是thumb)的位。
在这里插入图片描述
各标志位的含义:①N=1时结果为负,N=0时结果位正或0;C=1时最高位产生进位;V=1时发生符号溢出;②中断禁止位包括I和F,当I=1时IRQ被禁止,当F=1时,FIQ中断被禁止;③T反映了正在操作的状态,当T置位时,处理器正在thumb状态下,当T清零时,处理器在ARM状态下运行。④模式位包括M4、M3、M2、M1、M0,决定了处理器处于哪种模式下,注意:不是所有的模式位组合都可以定义有效的处理器模式。CPSR模式位设置表如下图:
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值