• 特殊功能寄存器


    一.特殊的寄存器

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

  • 相关阅读:
    《3D 数学基础》几何检测-最近点
    AVL平衡二叉树
    微前端是如何实现作用域隔离的?
    curl、openssl、mbedtls的交叉编译过程
    用户请求到响应可能存在的五级缓存
    MySQL的主从同步原理
    基础:html5、html、htm、xhtml、dhtml、shtml、shtm、xml、xsl、xslt
    RabbitMQ消费失败重试策略、及重试策略应用场景详解
    一文搞清各种来源的wmts服务加载,告别ctrl+c,v
    php+vue+Elementui大学生心理健康测评网站
  • 原文地址:https://blog.csdn.net/a2998658795/article/details/126687790