当前位置: 首页 > news >正文

ARM寄存器组

 

CM3 拥有通用寄存器 R0‐R15 以及一些特殊功能寄存器。

95c0185a3ab44caf92c0828a60a9cd52.png

?code=ZDVhYjVjNDFkM2Y0MTJiMzI4YWMzYzY1YTJkNTM0NTRfSGxqSFl4QlFyU3JJZ2d0b1kyd2JXSkZFNEU0eEJDRTFfVG9rZW46WllGZGJRSzNrb3BydGt4RkkxcGNPNmtObkxlXzE2OTMyNjcwODM6MTY5MzI3MDY4M19WNA

R0-R7,通用目的寄存器

R0-R7也被称为低组寄存器,所有指令可以访问它们,它们的字长为32位,复位后的初始值是不可预料的。

R8-R12,通用目的寄存器

R8-R12也被称为高组寄存器,所有指令可以访问它们,它们的字长为32位,复位后的初始值是不可预料的。

R13,堆栈指针(Stack Pointer)

  • R13寄存器中存放的是堆栈的栈顶指针,CM3中有两个堆栈指针,也就支持两个堆栈。分别是:主堆栈指针(MSP, Main Stack Pointer),进程堆栈指针(PSP, Process Stack Pointer)。

  • 当引用R13或者SP时,你引用到的是当前正在使用的堆栈,另一个堆栈必须用特殊的指令来访问(MRS,MSR指令)。

  • 主堆栈指针(MSP),这是缺省的堆栈指针,它由OS内核,异常服务例程以及所有需要特权访问的应用程序代码来访问。

  • 进程堆栈指针(PSP),用于常规应用程序代码(不处于异常服务用例程中时)。

  • 堆栈主要是通过POP,PUSH指令来进行操作。在执行 PUSH 和 POP 操作时,那个通常被称为 SP 的地址寄存器,会自动被调整,以避免后续的操作破坏先前的数据。

R14 ,连接寄存器(Link Register)

在一个汇编程序中, LR 用于在调用子程序时存储返回地址。例如,在使用 BL(分支并连接, Branch and Link)指令时,就自动填充 LR 的值(执行函数调用的下一指令),进而在函数退出时,正确返回并执行下一指令。

如果函数中又调用了其他函数,那么LR将会被覆盖,所以需要先将LR寄存器入栈PUSH,保护起来。

R15,程序计数器(Program Count)

因为 CM3 内部使用了指令流水线,读 PC 时返回的值是当前指令的地址+4

 

特殊功能寄存器组

Cortex‐M3 中的特殊功能寄存器包括:

程序状态寄存器组( xPSR),存放当前CPU的状态

中断屏蔽寄存器组( PRIMASK, FAULTMASK,以及 BASEPRI),用于控制异常的使能和除能

控制寄存器( CONTROL),用于定义特权级别,以及选择当前使用堆栈指针(PSP/MSP?)。

 

相关文章:

ARM寄存器组

CM3 拥有通用寄存器 R0‐R15 以及一些特殊功能寄存器。 R0-R7,通用目的寄存器 R0-R7也被称为低组寄存器,所有指令可以访问它们,它们的字长为32位,复位后的初始值是不可预料的。 R8-R12,通用目的寄存器 R8-R12也被称…...

Windows查看当前文件夹下的所有.c文件的个数

在Windows的命令提示符(CMD)中,你可以使用for循环和dir命令结合起来,以计算当前文件夹下所有 .c 文件的个数。 下面是一个简单的示例,这个批处理脚本会计算当前目录下所有 .c 文件的个数: echo off setlo…...

ubuntu Qt 地图离线调用

ubuntu环境下在Qt上调用百度地图_ubuntu 百度地图_拿到金像奖上课那家店的博客-CSDN博客 【Qt初入江湖】Qt QtWebEngineWidgets 底层架构、原理详细描述_鱼弦的博客-CSDN博客 Ubuntu20.04 QT无法用Qwebengine控件的解决方案(临时)_cmsyq的博客-CSDN博客…...

Android Studio升级到Android API 33版本后,XML布局输入没有提示

低版本的Android Studio升级到Android API 33版本后,XML布局输入没有提示。查一下我目前使用的Android Studio 是2021年发布,而Android API 33是2022年发布的,这是由低版本升级到高版本造成不兼容的问题。解决方法有两种: 第一种…...

操作XML(带命名空间)

之前文章讲述了使用c# xpath如何操作xml文件&#xff0c;在实际开发项目中&#xff0c;遇到的很多xml文件都是带有命名空间的&#xff0c;如果还是用之前的代码获取&#xff0c;那将获取到null。 本文讲解操作代码有命名空间的Xml文件&#xff0c;以及多个命名空间的xml。 <…...

二叉搜索树(C++)

二叉搜索树 概念二叉搜索树的应用二叉搜索树的实现K模型基本结构和函数声明接口实现①find——查找关键码②Insert——插入关键码③Erase——删除关键码&#xff08;重点&#xff09;时间复杂度 源码&#xff08;整体&#xff09;非递归递归 KV模型 在使用C语言写数据结构阶段时…...

软件架构知识点

常用软件架构模型分类&#xff08;5种&#xff09; 软件架构建模方法&#xff08;模型4种&#xff09; 架构师分类&#xff08;微软4种&#xff09; 系统架构设计师的角色特质&#xff08;6种&#xff09; 计算机系统组成图谱 嵌入式操作系统的特点&#xff08;5个&#x…...

C语言日常刷题6

文章目录 题目答案与解析1234567 题目 1、以下对C语言函数的有关描述中&#xff0c;正确的有【多选】&#xff08; &#xff09; A: 在C语言中&#xff0c;一个函数一般由两个部分组成&#xff0c;它们是函数首部和函数体 B: 函数的实参和形参可以是相同的名字 C: 在main()中定…...

微信小程序使用stomp.js实现STOMP传输协议的实时聊天

简介&#xff1a; uniapp开发的小程序中使用 本来使用websocket&#xff0c;后端同事使用了stomp协议&#xff0c;导致前端也需要对应修改。 如何使用 在static/js中新建stomp.js和websocket.js&#xff0c;然后在需要使用的页面引入监听代码发送代码即可 代码如下&#x…...

基于饥饿游戏算法优化的BP神经网络(预测应用) - 附代码

基于饥饿游戏算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于饥饿游戏算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.饥饿游戏优化BP神经网络2.1 BP神经网络参数设置2.2 饥饿游戏算法应用 4.测试结果&#xff1a;5…...

[ 云计算 | AWS ] Java 应用中使用 Amazon S3 进行存储桶和对象操作完全指南

文章目录 一、前言二、所需 Maven 依赖三、先决必要的几个条件信息四、创建客户端连接五、Amazon S3 存储桶操作5.1. 创建桶5.2. 列出桶 六、Amazon S3 对象操作6.1. 上传对象6.2. 列出对象6.3. 下载对象6.4. 复制、重命名和移动对象6.5. 删除对象6.6. 删除多个对象 七、文末总…...

【Spring Boot】Spring Boot 配置 Hikari 数据库连接池

文章目录 前言配置 前言 数据库连接池是一个提高程序与数据库的连接的优化&#xff0c;连接池它主要作用是提高性能、节省资源、控制连接数、连接管理等操作&#xff1b; 程序中的线程池与之同理&#xff0c;都是为了优化、提高性能。 配置 spring:datasource:hikari:# 设置是…...

MR混合现实石油化工课堂情景实训教学演示

MR&#xff08;混合现实&#xff09;技术是一种结合了虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;优势的新型技术&#xff0c;在教育领域具有广阔的应用前景。在石油化工课堂中&#xff0c;MR混合现实情景实训教学的应用可以大大提高学生的学习效…...

php thinkphp 抖音支付,订单同步接口分享

1. 抖音支付 需要获取抖音小程序的AppID,AppSecret,需要配置回调地址&#xff0c;Token获取SALT 官方地址&#xff1a;支付&#xff0c;订单同步 以下干货仅针对于有一定开发基础的精英&#xff0c;0基础的止步。 public function DouyinPay($openId,$id,$body 抖音担保支付…...

excel功能区(ribbonx)编程笔记--2 button控件与checkbox控件

我们上一章简单先了解了ribbonx的基本内容,以及使用举例实现自己修改ribbox的内容,本章紧接上一章,先讲解一下ribbonx的button控件。 在功能区的按钮中,可以使用内置图像或提供自已的图像,可以指定大按钮或者更小的形式,添加少量的代码甚至可以同时提供标签。此外,可以利…...

JavaScript 知识点

立即执行函数 代码(function () {// ... })();创建函数的同时立即执行&#xff0c;没有绑定任何事件&#xff0c;也无需等待任何异步操作function () {} 是一个匿名函数&#xff0c;包围它的一对括号将其转换为一个表达式&#xff0c;紧跟其后的一对括号调用了这个函数。立即执…...

深入理解 JVM 之——动手编译 JDK

更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验 本篇为深入理解 Java 虚拟机第一章的实战内容&#xff0c;推荐在学习前先掌握基础的 Linux 操作、编译原理基础以及扎实的 C/C 功底。 该系列的 GitHub 仓库&#xff1a;https://github.com/Doge2077/lear…...

[移动通讯]【Carrier Aggregation in LTE】【 Theory + Log analysis-1】

CA: Carrrier Aggregation PCC: Primary Component Carrier SCC: SCC Secondary Component Carrier 目录&#xff1a; 背景介绍 PCC & SCC 聚合方式 Precondition for CA 一 背景介绍 在没有CA 技术前&#xff0c;手机和基站以单子载波的方式,收发…...

Sui诚邀您参加KBW「首尔Web3之夜」

韩国区块链周&#xff08;KBW&#xff09;是由FACTBLOCK创办&#xff0c;Hashed联合主办的年度盛会。今年的KBW将于9月4–10日在韩国首尔举办。作为亚洲最具影响力的Web3行业盛会之一&#xff0c;KBW将汇聚业界优秀的参与者和先驱者&#xff0c;共同探讨区块链行业的未来。 Su…...

19.CSS雨云动画特效

效果 源码 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Cloud & Rain Animation</title><link rel="stylesheet" href="style.css"> </head> <bo…...

思源宋体TTF:开源中文字体的技术突破与商业价值重构

思源宋体TTF&#xff1a;开源中文字体的技术突破与商业价值重构 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 在数字化内容爆炸的今天&#xff0c;中文字体的选择直接影响信息传递的…...

YOLO-Master 的MoE方案分解

之前&#xff0c;进行论文精度。今天看下具体代码 文章目录1. OptimizedMOEImproved加载模块过程2. 路由模块 EfficientSpatialRouter3. 专家 SimpleExpert实例条件自适应MoE 剪枝 (MoEPruner)聚类加权 NMS (CW-NMS)1. OptimizedMOEImproved 同构专家&#xff1a;通常使用相同…...

从安全卫士到AI指挥官:周鸿祎的“AI突围”实录!

2026年3月27日&#xff0c;北京——在360总部楼下&#xff0c;一张临时搭建的长桌上&#xff0c;周鸿祎身穿印有“AI世界”的黑色工装马甲&#xff0c;手握键盘&#xff0c;亲自为现场观众“装龙虾”。这幅画面不仅让人恍惚回到十几年前的中关村&#xff0c;也标志着一场关于AI…...

ElasticSearch数据可视化实战:用Kibana快速构建你的第一个Dashboard

ElasticSearch数据可视化实战&#xff1a;用Kibana快速构建你的第一个Dashboard 当你面对海量的ElasticSearch数据时&#xff0c;如何快速提取有价值的信息并直观呈现&#xff1f;Kibana作为Elastic Stack中的可视化利器&#xff0c;能够将复杂的数据转化为一目了然的图表和仪表…...

Z-Image-Turbo-rinaiqiao-huiyewunv 可视化流程设计:使用Visio绘制模型服务架构与数据流图

Z-Image-Turbo-rinaiqiao-huiyewunv 可视化流程设计&#xff1a;使用Visio绘制模型服务架构与数据流图 作为一名技术架构师&#xff0c;我经常需要向团队、客户或管理层解释一个复杂的系统是如何工作的。光靠文字描述&#xff0c;往往事倍功半。一张清晰的架构图或数据流图&am…...

如何实现ElasticHQ与ElasticSearch 8.x的完美兼容:未来就绪的监控解决方案

如何实现ElasticHQ与ElasticSearch 8.x的完美兼容&#xff1a;未来就绪的监控解决方案 【免费下载链接】elasticsearch-HQ Monitoring and Management Web Application for ElasticSearch instances and clusters. 项目地址: https://gitcode.com/gh_mirrors/el/elasticsearc…...

Blaze表达式优化完全手册:提升计算性能的7个核心策略

Blaze表达式优化完全手册&#xff1a;提升计算性能的7个核心策略 【免费下载链接】blaze NumPy and Pandas interface to Big Data 项目地址: https://gitcode.com/gh_mirrors/bl/blaze Blaze作为NumPy和Pandas风格的大数据接口工具&#xff0c;能够帮助用户轻松处理各类…...

OpenClaw浏览器自动化:GLM-4.7-Flash驱动的智能搜索与数据采集

OpenClaw浏览器自动化&#xff1a;GLM-4.7-Flash驱动的智能搜索与数据采集 1. 为什么需要浏览器自动化助手 上周我需要做一个小型市场调研&#xff0c;收集20家竞品的产品定价和功能列表。手动打开每个网站、复制粘贴数据、整理成表格&#xff0c;花了整整一个下午。这种重复…...

医美私信获客新范式:快商通AI私信机器人如何实现高效客户转化

医美私信获客新范式&#xff1a;快商通AI私信机器人如何实现高效客户转化 关键要点&#xff1a; 医美行业夜间咨询流失率高达 78% &#xff0c;响应不及时是主要原因 快商通AI私信机器人实现 724小时 智能接待&#xff0c;开口率从 22% 提升至 100% 实际应用数据显示&#xff0…...

MultiHighlight插件完全指南:5步提升代码阅读效率300%

MultiHighlight插件完全指南&#xff1a;5步提升代码阅读效率300% 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors &#x1f3a8;&#x1f4a1; 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight 在当今快…...