yuxingli

ARM寄存器有37个寄存器,包含31个通用寄存器和6个状态寄存器

 

R13_svc表示svc模式下的R13寄存器,不是同一个寄存器

上面R0~R7是同一个

下面是状态寄存器,总共6个

 

R0~R15可以被划分为三类,R0~R7属于不分组寄存器,R8~R14属于分组寄存器,R15是PC指针

R13通常被用来当做SP堆栈指针

 

 

R14被用来充当链接寄存器LR,有两个特殊功能:

在每个模式中都能用来保存函数的返回地址,比如子函数调用完成返回主函数,就用这个

当异常发生时,比如中断,那么返回地址也是用R14

 

R15被用来程序计数器,PC指针

 

突然来了一个中断,转去执行中断处理程序CPSR会发生变化,所以要SPSR保存当时CPSR进入中断之前的状态,中断返回时再写回到原来的状态。

 

1、CPSR/SPSR

N:当我们比较两个数大小时,如A-B,结果负数   N=1;其他结果N=0

Z:也是两个数比较结果,只有当两数相等时Z=1

I:当它被置位1,不能产生中断

F:当它被置位1,不能产生快速中断

M:用来表明处理器不同的工作模式,对应前一讲的模式

 

 

分类:

技术点:

相关文章:

  • 2021-12-26
  • 2021-07-30
  • 2022-01-05
  • 2022-12-23
  • 2022-12-23
  • 2021-07-10
  • 2021-09-19
  • 2021-08-23
猜你喜欢
  • 2021-06-05
  • 2021-07-06
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
  • 2021-06-24
  • 2022-12-23
相关资源
相似解决方案