特殊功能寄存器
一.特殊的寄存器
1 R13寄存器
R13寄存器 --別名--> SP ------> the Stack Pointer : 棧指針寄存器
作用:棧指針寄存器中存放的是棧空間的地址。此棧用來壓棧保存現場。
2 R14寄存器
R14寄存器 --別名--> LR -----> the Linking Register : 鏈接寄存器
作用:保存的是返回地址。
3 R15寄存器
R15寄存器 --別名--> PC -----> the Program Counter : 程序計數寄存器
作用:存放的時當前要取指指令的地址。
4 cpsr寄存器
cpsr寄存器 -----> Currented Program Statues Register : 當前程序狀態寄存器。
cpsr寄存器作用:存放的時當前程序的運行的狀態,比如工作模式
N[31] : 指令的執行結果為負數時,N位被自動置1,否則清0.
Z[30] : 指令的執行結果為零時,Z位被自動置1,否則清0.
C[29] :
? 加法:低32位向高32位產生進位(向上溢出),C位被自動置1,否則清0.
? 減法:低32位向高32位產生借位(向下溢出),C位被自動清0,否則置1.
V[28] : 符號位發生變化,V位被自動置1,否則清0.
I[7] : IRQ中斷屏蔽位
? I = 0 : 不屏蔽IRQ的中斷
? I = 1 : 屏蔽IRQ的中斷
F[6] : FIQ中斷屏蔽位
? F = 0 : 不屏蔽FIQ的中斷
? F = 1 : 屏蔽FIQ的中斷
T[5] : 狀態位
? T = 0 : ARM狀態,執行ARM指令,1條ARM指令占4字節的空間。
? T = 1 : Thumb狀態,執行Thumb指令,1條Thumb指令占2字節的空間。
? 在Cortex-M核中主要使用的就是Thumb指令。
M[4:0] : 模式位
? 10000 User mode;
? 10001 FIQ mode;
? 10011 SVC mode;
? 10111 Abort mode;
? 11011 Undfined mode;
? 11111 System mode;
? 10110 Monitor mode;
? 10010 IRQ mode
5 spsr寄存器
spsr寄存器 -----> Saved Program Statues Register : 保存程序狀態寄存器。
spsr寄存器作用:保存當前程序的運行狀態的急促請你,就是對cpsr寄存器進行備份。
總結
- 上一篇: spring依赖注入的4种方式
- 下一篇: 多节点靶场渗透2