ARM Cortex-M体系寄存器结构

news/2024/12/13 3:58:28/
  1. General-Purpose Registers (R0-R12)

    • 这些寄存器主要用于存储临时变量。在大多数情况下,指令可以使用任何这些寄存器来执行操作。
  2. Stack Pointer (SP)

    • 该寄存器指向当前的堆栈顶部。ARM Cortex-M 体系结构提供两个堆栈指针:MSP (Main Stack Pointer) 和 PSP (Process Stack Pointer)。MSP 通常在非特权模式下使用,而 PSP 用于特权模式,如中断处理。
  3. Link Register (LR)

    • 当一个函数调用发生时,LR 存储返回地址。例如,当执行一个 BL (Branch with Link) 指令时,当前的 PC 值被存储到 LR 中,以便函数执行完毕后返回。
  4. Program Counter (PC)

    • 该寄存器存储下一条要执行的指令的地址。通常,每执行一条指令,PC 就会自动递增。
  5. xPSR (Program Status Register)

    • 这是一个组合状态寄存器,其中包括 APSR (Application Program Status Register)、IPSR (Interrupt Program Status Register) 和 EPSR (Execution Program Status Register)。它包含关于最近执行的算术操作的信息,如零、负、进位和溢出标志。
  6. Control Register

    • 该寄存器用于切换堆栈指针(使用 MSP 还是 PSP)和控制线程模式下的特权级别。
  7. MSP/PSP

    • 主堆栈指针和进程堆栈指针。

http://www.ppmy.cn/news/1212059.html

相关文章

Pytorch常用的函数(四)深度学习中常见的上采样方法总结

Pytorch常用的函数(四)深度学习中常见的上采样方法总结 我们知道在深度学习中下采样的方式比较常用的有两种: 池化 步长为2的卷积 而在上采样过程中常用的方式有三种: 插值 反池化 反卷积 不论是语义分割、目标检测还是三维重建等模型&#xff0…

超全大厂UI库分享,可免费套用!

今天我们要给大家分享的是TDesign、Arco Design、Ant Design、Material design等6个优秀的大厂UI库,一次性打包送给大家,通通免费用。大厂UI库都是经过无数次的事件检验的,扛住了许多种使用场景和突发情况的组件资源库,是前人的经…

win10 安装 node.js

要在你的系统上安装 Node.js,你可以按照以下步骤进行: 1. 打开 Node.js 官方网站:https://nodejs.org/ 2. 在首页上,你会看到两个版本的 Node.js 可供下载:LTS 版本和 Current 版本。LTS 版本是长期支持版本&#xff…

[西湖论剑 2022]real_ez_node

文章目录 前置知识EJS模板注入(CVE-2022-29078)原型链污染漏洞 (CVE-2021-25928)HTTP响应拆分攻击(CRLF) 解题过程代码审计构造payload 前置知识 EJS模板注入(CVE-2022-29078) EJS…

蓝桥杯算法竞赛第一周题型总结

本专栏内容为:蓝桥杯学习专栏,用于记录蓝桥杯的学习经验分享与总结。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库🚚 🌹&#x1f33…

使用 HTTP Client 轻松进行 API 测试

在开发过程中,我们经常需要测试 API 接口以确保其正常工作。JetBrains 的集成开发环境(IDE)如 CLion、IntelliJ IDEA、PyCharm 等,默认内置了 HTTP Client 插件,可以方便地进行API测试。本文将介绍如何使用HTTP Client…

将复数中的虚部取反 即对复数求共轭 numpy.conjugate()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 将复数中的虚部取反 即对复数求共轭 numpy.conjugate() [太阳]选择题 请问以下代码中执行语句输出结果是? import numpy as np a np.array([1 2j, 3 - 4j]) print("【显示…