ARM相关知识总结-寄存器

ARM寄存器总结

ARM处理器共有37个寄存器,包含31个通用寄存器和6个状态寄存器。
(1)31个通用寄存器,包括PC(程序计数器)在内,都是32位的寄存器。
(2)6个状态寄存器,都是32位的寄存器。
ARM处理器共有七种不同的处理模式:
用户模式(User),快速中断模式(FIQ),普通中断模式(IRQ),管理模式(SVC)终止模式(ABT),未定义模式(UND),系统模式(SYS)
通用寄存器包括R0-R15,可以分为3类:

  1. 未分组寄存器R0-R7
    在所有运行模式下,未分组寄存器都指向同一个物理寄存器,他们未被系统用作特殊的用途。在中断或异常处理进行异常模式转换时,由于不同的处理器运行模式均使用相同的物理寄存器,所以可能造成寄存器中数据的破坏。
  2. 分组寄存器R8-R14
    对于分组寄存器,他们所访问的物理寄存器都与当前的处理器运行模式有关。
    R13常用于存放堆栈指针,用户也可以使用其他寄存器存放堆栈指针,但在Thumb指令集下,某些指令强制要求使用R13存放堆栈指针。
    R14成为链接寄存器(LR,Link Register),当执行子程序时,R14可得到R15(PC)的备份,执行完子程序后,又将R14的值赋值回PC,即使用R14保存返回地址。
  3. 程序计数器PC(R15)
    寄存器R15用作程序计数器(PC),在ARM状态下,位[1:0]为0,位[31:2]用于保存PC;在Thumb状态下,位[0]为0,位[31:1]用于保存PC。

注:ARM处理器的工作状态

  1. ARM状态:此时处理器执行32位的字对齐ARM指令,绝大部分工作在此状态。
  2. Thumb状态:此时处理器执行16位的半字对齐的Thumb指令。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值