ARM 寄存器

ARM总共有37个寄存器

 

 

ARM寄存器物理分类

通用寄存器:
1:不分组寄存器(R0--R7

2:分组寄存器(R8-R14)

3:程序计数器(R15)(注意:又名pc指针)

程序状态寄存器:
1:CPSR

2:SPSR

 

应用分类:(有一部分是相同寄存器在不同状态下的不同功能)

31个通用寄存器:

未分组寄存器(R0-R7)

分组寄存器(R8 -R14 )

R15(PC指针)

注意:其中R13 R14 R15最为特殊

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

R14 通常被用作链接寄存器,有两种功能(1:在每种模式下下用于保存函数调用子函数,子函数调用完毕返回的主函数的地2:用于保存在处理完中断后的返回的处理中断时的地址)

R15 通常用于程序计数器

 

6 个状态寄存器

CPSR 用于保存程序任意时刻的状态可以被覆盖

SPSR 用于保存处理中断之前的所用状态,处理完中断后复制到CPSR

程序状态寄存器中的各个位的功能

 

重要的是NZIFM4个位

N:用于比较两个数的比较

Z:也是用于比较两个数的大小,但是只有两个数一样大时才为零

I:用于屏蔽中断

M:M主要用于表明CPU 的不同模式

posted @ 2018-03-17 13:48  流浪的Coder  阅读(686)  评论(0编辑  收藏  举报