特殊功能寄存器

6 篇文章 0 订阅
5 篇文章 0 订阅

一.特殊的寄存器

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寄存器进行备份。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值