foggia2004

1—ARM中的寄存器

ARM共有37个寄存器。其中31个通用寄存器和6个状态寄存器。

 

一般通用寄存器R0-R12

R0-7为未分组寄存器;R8-12为分组寄存器。

未分组寄存器:在任何模式下,指向的都是同一个32位的物理寄存器。

分组寄存器:在不同的模式下,同一个寄存器名称对应这不同的物理寄存器。

堆栈指针R13(SP:Stack Pointer)

程序进入异常模式时,可以将需要保护的寄存器数据放入R13中。当程序从异常模式返回时,则从对应的堆栈中恢复数据。

链接寄存器R14(LR:Link Register)

  1. 存储当前子程序的返回地址
  2. 当异常或中断发生时,被设置为要返回的地址

程序计数器R15(PC:Programm Counter)

指向下一条要读取指令的地址

当前程序状态寄存器(CPSR:Current Programm Status Register)

用来存储当前程序状态寄存器的内容:条件标志位、中断禁止位、当前处理器模式和其他状态和控制信息。

条件标志位

模式标志位

 

posted on 2019-04-13 16:05  foggia2004  阅读(348)  评论(0编辑  收藏  举报

导航