单片机交流
直播中

纯纯纯牛奶

11年用户 523经验值
私信 关注
[问答]

ARM状态下的通用寄存器有哪些

ARM状态下的通用寄存器有哪些?
ARM状态下的程序计数器有哪些呢?

回帖(1)

陈英

2021-10-21 18:04:57
  
  R0~R7:在所有模式下对应的物理寄存器都是相同的,在中断或者异常处理程序中需要对这几个寄存器的数据进行保存;
  R8~R12:fiq模式下一组物理寄存器,其余模式下一组物理寄存器;
  R13、R14:用户、系统模式共享一组寄存器,其余每个模式各一组寄存器。
  R13(SP指针)即栈指针,系统初始化时需对所有模式的SP指针赋值,MCU工作在不同模式下时,栈指针会自动切换;
  R14:1、调用子程序时用于保存调用返回地址,2、发生异常时用于保存异常返回地址
  R15(程序计数器PC):可以用作通用寄存器(未验证,一旦使用后果自负),部分指令在使用R15时有特殊限制(暂不清楚是哪些指令);
  
  CPSR(当前程序状态寄存器):所有模式下可读写
  条件标志位如下
  N:Negative,负标志
  Z:Zero,0
  C:Carry,进位
  V:Overflow,溢出
  中断标志位如下:
  I:1表示禁止IRQ中断响应,0表示允许IRQ中断响应
  F:1表示禁止FIQ中断响应,偶表示允许FIQ中断响应
  ARM/Thumb控制标志位:
  T:0表示执行32 bits的ARM指令,1表示执行16 bits的Thumb指令
  模式控制位M0~M4
  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分