嵌入式学习笔记(7)ARM汇编指令4-多寄存器指令

news2024/10/4 9:37:48

多寄存器访问指令

ldr/str每周期只能访问4字节内存,如果需要批量读取、写入内存的话太慢,解决方案就是ldm/stm,ldm(load register multiple),stm(store register multiple)

举例:

stmia sp, {r0 - r12}

将r0存入sp指向的内存处(假设为0x30001000);然后地址+4(即指向0x30001004),将r1存入该地址;然后地址再+4(指向0x30001008),将r2存入该地址······直到r12内容放入(0x3001030),指令完成。

一个访存周期同时完成13个寄存器的读写

18种后缀:stmia stmfd

ia(increment after) 先传输,再地址+4   相当于空递增堆栈 ea

ib(increment before) 先地址+4,再传输  相当于满递增堆栈 fa

da(decrement after) 先传输,再地址-4   相当于空递减堆栈 ed

db(decrement before) 先地址-4,再传输  相当于满递减堆栈 fd

fd(full descending) 满递减堆栈

ed(empty descending) 空递减堆栈

fa(full ascending) 满递增堆栈

ea(empty ascending) 空递增堆栈

四种栈

空栈:栈指针指向空位,每次存入时可以直接存入然后栈指针移动一格;而取出时需要先移动一格才能取出

满栈:栈指针指向栈中最后一格数据,每次存入时需要先移动栈指针一格再存入;取出时可以直接取出,然后再移动栈指针

增栈:栈指针移动时向地址增加的方向移动的栈

减栈:栈指针移动时向地址减小的方向移动的栈

!的作用

ldmia r0, {r2 - r3}

ldmia r0!, {r2 - r3}

!的作用就是r0的值在ldm过程中发生的增加或者减少最后写回到r0去,也就是说ldm时的感叹号会改变r0的值。

^的作用

ldmfd sp!, {r0 - r6, pc}

ldmfd sp!, {r0 - r6, pc}^

^的作用:在目标寄存器中有pc时,会同时将spsr写入到cpsr,一般用于从异常模式返回。

  • 谨记:操作栈时使用相同的后缀就不会出错,不管是满栈还是空栈、增栈还是减栈

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

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

相关文章

HarmonyOS—使用Web组件加载页面

页面加载是 Web 组件的基本功能。根据页面加载数据来源可以分为三种常用场景,包括加载网络页面、加载本地页面、加载 HTML 格式的富文本数据。 页面加载过程中,若涉及网络资源获取,需要配置ohos.permission.INTERNET网络访问权限。 加载网络…

【STM32】学习笔记(串口通信)-江科大

串口通信 通信接口硬件电路电平标准USARTUSART框图 通信接口 串口是一种应用十分广泛的通讯接口,串口成本低、容易使用、通信线路简单,可实现两个设备的互相通信 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信&#…

2、Spring6 入门

1、环境要求 JDK:Java17(Spring6要求JDK最低版本是Java17) Maven:3.6 Spring:6.0.2 2、构建模块 2.1 构建父模块spring6 点击“Create” 2.2 构建子模块spring-first 点击 Create 完成. 3、程序开发 3.1 引入依…

Garmin 佳明Venu 3系列内置睡眠教练,掌握好眠关键

Venu 3 系列智能运动健康腕表搭载全新睡眠教练,培养健康睡眠习惯; 进阶版身体电量,冥想指南,打造全天候健康生活续航 【2023年8月31日】佳明(纽交所代码:GRMN)发布Venu 3及Venu 3S智能运动健康腕表&#…

速卖通运营干货:如何利用测评养号实现店铺增长突破?

做过速卖通运营的卖家都知道爆款、标题、转化、后台数据这几个店铺运营关键词,是每位速卖通运营者都无法避开的。当中的每一个步骤的变化对于你的店铺都可能带来翻天地覆的变化。 可以这么说,以上的之间都是紧密联系在一起,更是一环扣一环&a…

景联文科技:高质量AI数据标注助力大语言模型训练,推动人工智能落地应用

大语言模型在各类LLM新技术的融会贯通下,不断加速Instruction-tuning、RLHF、思维链等新技术在大语言模型中的深度应用,人工智能技术以惊人的速度不断进化。 大语言模型(LLM)是一种基于深度学习技术和海量文本数据,它们…

室外定位|GPS模块选型,GPS模块应用_SKYLAB

定位技术作为物联网的一项重要感知技术,借助其获取物体的即时位置信息,可以衍生一系列基于位置信息的物联网应用。 随着智慧城市与新基建的发展,对精准的定位技术需求更加迫切。物体的位置实时变化,采集的其他信息通常必须与位置信息关联才有价值。本篇S…

Kafka系列六集群管理

文章首发于个人博客,欢迎访问关注:https://www.lin2j.tech 集群 Kafka 在搭建集群的时候需要借助 Zookeeper 来进行集群成员(Brokers)的管理。每一个 Broker 都有一个唯一标识 broker.id,用于自己在集群中的身份标识…

问道管理:“出海”势头强劲 A股公司半年报彰显中国制造全球竞争力

“出海”是2023年我国企业开展的关键词之一。从国内企业组团出海抢订单,到我国出口“新三样”,上半年的多项经济热门、亮点均与出海相关。 上市公司2023年半年报亦折射企业出海的积极改变。Choice数据显示,到记者发稿时已披露半年报的4566家…

M1卡控制位解析

一、M1卡介绍 非接触式传输数据和供电 工作频率为 13.56 MHz 16 位 CRC 数据完整性检验、奇偶校验、位编码、位计数 典型票务交易时间小于 100 毫秒(包括备份管理) 支持随机 ID(7 字节 UID 版本) 工作距离可达…

Linux之web服务器

目录 www简介 常见Web服务程序介绍 服务器主机 主要数据 浏览器 网址及HTTP简介 URL http请求方法 状态码 MIME(Multipurpose Internet Mail Extension) www服务器的类型 静态网站 动态网站 Apache服务的搭建 Apache的安装 准备工作 htt…

【Flutter】Flutter 使用 collection 优化集合操作

【Flutter】Flutter 使用 collection 优化集合操作 文章目录 一、前言二、安装和基本使用三、算法介绍四、如何定义相等性五、Iterable Zip 的使用六、优先队列的实现和应用七、包装器的使用八、完整示例九、总结 一、前言 大家好!我是小雨青年,今天我要…

【LeetCode-中等题】105. 从前序与中序遍历序列构造二叉树

文章目录 题目方法一:递归 题目 方法一:递归 preorder [3,9,20,15,7] inorder [9,3,15,20,7] 首先根据 preorder 找到根节点是 3然后根据根节点将 inorder 分成左子树和右子树 左子树 inorder [9]右子树 inorder [15,20,7]这时候3是根节点 3的左子树…

C++信息学奥赛1178:成绩排序

#include<bits/stdc.h> using namespace std; int main(){int n;cin>>n; // 输入整数 n&#xff0c;表示数组的大小int arr[n]; // 创建大小为 n 的整型数组 arrstring brr[n]; // 创建大小为 n 的字符串数组 brrfor(int i0;i<n;i) cin>>brr[i]>>ar…

数据库设计的六个基本步骤

按照规范设计的方法&#xff0c;考虑数据库及其应用系统开发全过程&#xff0c;可将数据库设计分为以下6个阶段&#xff0c;分别为&#xff1a; 1.需求分析&#xff0c; 2.概念结构设计&#xff0c; 3.逻辑结构设计&#xff0c; 4.物理结构设计&#xff0c; 5.数据库实施&…

Ceph IO流程及数据分布

1. Ceph IO流程及数据分布 1.1 正常IO流程图 步骤&#xff1a; client 创建cluster handler。client 读取配置文件。client 连接上monitor&#xff0c;获取集群map信息。client 读写io 根据crshmap 算法请求对应的主osd数据节点。主osd数据节点同时写入另外两个副本节点数据。…

MES在人工智能方面的应用

MES&#xff08;制造执行系统&#xff09;在人工智能方面的应用主要集中在优化制造流程、提高生产效率和质量控制等方面。以下是一些MES在人工智能领域的应用案例&#xff1a; 1. 预测性维护&#xff1a;通过收集和分析生产设备的传感器数据&#xff0c;结合机器学习算法&am…

Tauri打包windows应用配置中文界面

使用 Tauri Rust 开发桌面应用&#xff0c;在 windows 系统上&#xff0c;打包后安装包名称后缀、安装界面、相关说明默认都是英文的。如果要默认显示为中文&#xff0c;则需要在 tauri.conf.json 中配置相应参数。 前言 默认情况下&#xff0c;在 windows 系统打完的 mis 包…

苹果照片丢失了?三招教你快速找回珍贵照片

照片记录了我们生活中的无数美好瞬间&#xff0c;能够帮助人们重新唤起那些珍贵的记忆。平时&#xff0c;大家也喜欢通过分享照片来让家人和朋友更加了解自己的生活。 如果手机上的照片不小心误删或者莫名丢失&#xff0c;请不必过度焦虑。小编为大家整理了适合果粉恢复苹果照…

中途接手项目,项目经理何如顺利交付?

有一个新项目&#xff0c;因为项目不被公司领导看中&#xff0c;项目金额小&#xff0c;对公司没有多少价值&#xff0c;且客户要求较多&#xff0c;但是碍于客户是熟人又不得不做&#xff0c;原来的项目经理承受不住压力离职&#xff0c;公司打算将这个项目交付这个我&#xf…