lv11 嵌入式开发 ARM体系结构理论基础(寄存器)3

news2025/1/10 16:15:31

目录

1 寄存器

2 ARM寄存器

2.1 专用寄存器


1 寄存器

概念    

寄存器是处理器内部的存储器,没有地址

作用    

一般用于暂时存放参与运算的数据和运算结果

注:全局变量不应该存入寄存器,数量有限会占用寄存器资源,寄存器读取速度很快适合运算

分类    

包括通用寄存器、专用寄存器、控制寄存器

通用寄存器,没有要求

专用寄存器,如PC指针,IR指针

控制寄存器,ARM状态、Thumb状态,模式状态切换

2 ARM寄存器

概述:

注:在某个特定模式下只能使用当前模式下的寄存器,一个模式下特有的寄存器其他模式下不可使用 (带三角)

16个通用寄存器、1个控制寄存器、23个专用寄存器

16+7+10+1+6 =40个寄存器

2.1 专用寄存器

R15(PC,Program Counter)    

程序计数器,用于存储当前取址指令的地址

R14(LR,Link Register)

链接寄存器,一般有以下两种用途:

  • 执行跳转指令(BL/BLX)时,LR会自动保存跳转指令下一条指令的地址。程序需要返回时将LR的值复制到PC即可实现
  • 产生异常时,对应异常模式下的LR会自动保存被异常打断的指令的下一条指令的地址,异常处理结束后将LR的值复制到PC可实现程序返回

R13(SP,Stack Pointer)

栈指针,用于存储当前模式下的栈顶地址

CPSR(Current Program Status Register)

当前程序状态寄存器 

CPSR寄存器分为四个域:

[31:24]为条件域用F表示

Bit[28]    

        当运算器中进行加法运算且产生符号位进位时该位自动置1,否则为0    

        当运算器中进行减法运算且产生符号位借位时该位自动置0,否则为1  

Bit[29]    

        当运算器中进行加法运算且产生进位时该位自动置1,否则为0    

        当运算器中进行减法运算且产生借位时该位自动置0,否则为1  

Bit[30]    

        当运算器中产生了0的结果该位自动置1,否则为0  

Bit[31]    

        当运算器中产生了负数的结果该位自动置1,否则为0

[23:16]为状态域用S表示

[15:8]为预留域用X表示

[8:0]为控制域用C表示 

Bit[4:0]     [10000]User    [10001]FIQ      [10010]IRQ       [10011]SVC    

                 [10111]Abort   [11011]Undef   [11111]System  [10110]Monitor  

Bit[5]     [0]ARM状态     [1]Thumb状态  

Bit[6]     [0]开启FIQ     [1]禁止FIQ  

Bit[7]     [0]开启IRQ     [1]禁止IRQ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1194513.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

矩阵的除法

B/A 如果矩阵A可逆,那么 证明: A/AB 如果矩阵A和B都可逆,那么 证明:

人工智能基础——Python:Numpy与矩阵

人工智能的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而举步难行。不过别担心,我为大家整理了一份600多G的学习资源,基本上涵盖了人工智能学习的所有内容。点击下方链接,0元进群领取学习资源,让你的学习之路更加顺畅!记得…

OTA包添加自定义内容

起因 新开一条线,需要上传的OTA包里加点内容,好让后台校验它是否是当前这条线(短期最小改动)。 开整 之前看过ota包结构,整包和差分包里都有一个payload_properties.txt文件,所以最简单的就是给这个txt文件里追加点自定义内容&…

NodeJs - 集合对象序列化问题

NodeJs - 集合对象序列化问题 一. 集合对象的序列化问题1.1 Map 和 Object 的区别1.2 Map 的相关转换Map 和 Array 互转Map 和 Object 互转 1.3 Set 的相关转换Set 和 Array 互转 一. 集合对象的序列化问题 案例如下:我们创建一个Map和一个Set集合,并用…

宋浩高等数学笔记(三)微分中值定理

首先是考研大纲包含的内容: 1.理解并会用罗尔(Rolle)定理、拉格朗日(Lagrange)中值定理和泰勒(Taylor)定理,了解并会用柯西(Cauchy)中值定理. 2.掌握用洛必达法则求未定式极限的方法. 3.理解函数的极值概念,掌握用导数判断函数的单调性和求函…

黑窗口连接远程服务

ssh root192.168.x.x 回车输入密码 查看docker docker ps 停止正在运行的服务 docker stop xxxxx 删除服务 docker rm xxxxx 查看镜像 docker images 删除镜像 docker rmi xxxxx 删除镜像 启动并运行整个服务 docker compose up -d jar包名称 idea 使用tcp方式连接docker 配置d…

mongo实际业务场景实战

业务场景 有四个业务信息,分别是适用部门、适用岗位、适用职级、适用专业。 1.适用部门有三个层级类似D001表示一级部门、D001002表示二级部门、D001002001表示三级部门,ALL表示所有部门。 2.适用岗位有岗位A、岗位B、ALL等,ALL表示适用所有岗位。 3.适用职级有M-1,M-2、AL…

【免费送书】写博客模板

【点我-这里送书】 本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的…

Q3季刊|Coremail管理员社区Q3季刊发布

2023年Q3季刊新近完成,接下来将带领大家回顾2023年Q3Coremail管理员社区的精彩活动和内容。 01、Coremail管理员社区 Coremail 管理员社区属于云服务中心板块之一,由Coremail服务团队、邮件安全团队及多条产品线共同维护,定位为知识库社区&…

【UE5】 虚拟制片教程

目录 效果 步骤 一、下载素材 二、将视频转成PNG序列 三、开始虚拟制片 效果 步骤 一、下载素材 首先下载绿幕视频素材 链接:百度网盘 请输入提取码 提取码:jyfk 二、将视频转成PNG序列 打开“Adobe Premiere Pro”,导入素材 …

家乡特色饮食体验系统的设计与实现-计算机毕设 附源码 27533

家乡特色饮食体验系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对家乡特色…

Springboot养老院信息管理系统的开发-计算机毕设 附源码27500

Springboot养老院信息管理系统的开发 摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,…

数据结构与算法C语言版学习笔记(6)-树、二叉树、赫夫曼树

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、树的定义1.结点的度、树的度2.结点的逻辑关系3.树的深度4.有序树和无序树5.森林 二、树的存储结构(1)双亲表示法(2&…

神经网络可视化:卷积核可视化

文章目录 前言一般过程: 一、代码示例二、卷积核和输入图片相乘可视化总结 前言 卷积核可视化是一种用于理解卷积神经网络 (CNN) 中卷积层的工作原理和特征提取能力的方法。通过可视化卷积核,我们可以观察卷积层学习到的特征模式,帮助我们理…

煤矿企业如何选择合适的设备健康管理系统

在煤矿开采的过程中,机电设备发挥着重要的作用。但大量的机电设备的使用也给煤矿企业设备管理提出了一定的要求。随着工业领域数字化的深入应用,煤矿机电设备的自动化、智能化管理已经成为煤矿企业发展的重要手段。保障机电设备的正常运行,减…

跨境电商源码搭建:开启你的全球贸易新纪元

随着全球电子商务的快速发展,跨境电商已经成为越来越多企业的必然选择。通过跨境电商平台,企业可以拓展海外市场,扩大销售范围,提升品牌影响力。而要实现这一目标,源码搭建是不可或缺的一环。本文将为你揭示跨境电商源…

【紫光同创国产FPGA教程】——【PGL22G第十章】DDR3读写实验例程

本原创教程由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注www.meyesemi.com) 适用于板卡型号: 紫光同创PGL22G开发平台(盘古22K) 一:盘古22K开发板(紫光…

ChatGPT 宕机?OpenAI 将中断归咎于 DDoS 攻击

您的 ChatGPT 已关闭吗?您是否遇到 ChatGPT 问题,例如连接问题或遇到“长响应时出现网络错误”?– ChatGPT 遭受了一系列 DDoS 攻击,显然是由匿名苏丹组织策划的。 OpenAI 的 ChatGPT 是一款流行的人工智能聊天机器人,…

centos7安装Nexus(Maven私服)与配置使用教程

之前有位大佬问我,他说有个第三方的Jar包,在idea导出库中使用,现在要部署上线测试,要如何导进去打包。 我说,不用那么麻烦,搞个Nexus私服,将Jar上传上去,然后配置Maven的setting文件…

PHP的curl会话

介绍: Curl(Client for URLs)在PHP中是一个强大而灵活的工具,用于进行各种网络请求。PHP中的Curl库允许开发者通过代码模拟HTTP请求、与API交互、进行数据传输等。在这里,我们将详细解析PHP中Curl会话的各个方面,涵盖…