汇编攻城记-Cortex-M3指令集

类型

指令

全称

功能

内存访问

LDR

Load register

加载字到寄存器

LDRB

加载字节到寄存器

LDRH

加载半字到寄存器

LDRSH

加载半字到寄存器,再带符号扩展到32位

LDRD

从连续的地址空间加载双字(64位整数)到2个寄存器

LDM

Load multiple registers

从一片连续的地址空间中加载多个字到若干寄存器

STR

Store register

存储寄存器中的字

STRB

存储寄存器中的低字节

STRH

存储寄存器中的低半字

STRD

存储2个寄存器组成的双字到连续的地址空间中

STM

Store multiple registers

存储若干寄存器中的字到一片连续地址空间中

PUSH

把若干寄存器的值压入堆栈中

POP

从堆栈中弹出若干的寄存器值

通用数据处理指令

加减运算

ADC

ADd with Carry

带进位加法

ADD

加法

SUB

减法

RSB

反向减法

SBC

带进位减法

RSC

带进位反向减法

移位运算

ASR

Arithmetic Shift Right

算术右移,移动过程中符号位不变,即源操作数为正时,则最高位补0,否则补1

LSL

逻辑左移

LSR

逻辑右移

ROR

圆圈右移

RRX

带进位的逻辑右移一格

逻辑运算

AND

按位与,与C的“&”功能相同

ORR

按位或,与C的”|“功能相同

EOR

按位异或,与C的”^“功能相同

BIC

Bit Clear

按位清零,把一个数跟另一个无符号数的反码按位与

ORN

按位或非,把源操作数按位取反后,再执行按位或

比较运算

CMP

比较两个数并更新标志位

CMN

负向比较,把一个数和另一个数的二进制补码进行比较,并更新标志位

移动操作

MOVW

把16位立即数放到寄存器的底16位,高16位清零

MOV

加载16位立即数到寄存器

MOVT

把16位立即数放到寄存器的高16位,低16位不影响

MVN

移动一个数的补码, 可加载这些值的按位补码。这些补码数值为 -(n+1)

检查操作

TEQ

测试是否相等,对两个数执行异或,更新标志但不存储结果

TST

测试,对两个数执行按位与,更新z标志但不存储结果

位操作

RBIT

位反转,把一个32位整数先用2进制表达,再旋转180度

REV

对一个32位整数做按字节反转

REVH/REV16

对一个32位整数的高低半字都执行字节反转

REVSH

对一个32位整数的低半字中的字节反转,并将符号扩展到32位

除法运算

SDIV

带符号除法

UDIV

无符号除法

乘法运算

MUL

乘法

MLA

乘加

MLS

乘减

UMLAL

无符号长乘加,两个无符号的32位整数相乘得到64位的无符号积,再把积加到另一个无符号64位整数中

UMULL

无符号长乘法,

SMLAL

带符号长乘积,两个带符号的32位整数相乘得到64位的带符号积,再把积加到另一个带符号64位整数中

SMULL

带符号长乘法,两个带符号32位整数相乘得到64位带符号积

饱和运算

SSAT

带符号的饱和运算

USAT

无符号饱和操作,源操作数时带符号的

组合分离

BFC

位段清零

BFI

位段插入

SBFX

从一个32位整数中提取位段,并且带有符号扩展成32位整数

UBFX

无符号位段提取

符号扩展

SXTB

字节带符号扩展到32位

UXTB

字节被无符号扩展到32位,高24位清零

UXTH

半字节被无符号扩展到32位,高16位清零

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

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

相关文章

数字人创作+SadTalker+GTX1080

https://github.com/OpenTalker/SadTalker 开源项目 SadTalker模型是一个使用图片与音频文件自动合成人物说话动画的开源模型,我们自己给模型一张图片以及一段音频文件,模型会根据音频文件把传递的图片进行人脸的相应动作,比如张嘴&#xf…

关于layui+php,三级联动-编辑回显的问题。

注 忍不住吐槽一波。都什么年代了。现在都前后端分离,但是公司老项目非得用tplayui。。 代码如下 layui.use([form], function () {var form layui.form;//php代码渲染页面的时候,将一级分类id和二级分类id带过来,存到页面input框中&#x…

Java面试之用两个栈实现队列

文章目录 题目一、什么是队列和栈?1.1队列1.2栈 二、具体实现2.1 思路分析2.2代码实现 题目 用两个栈实现一个队列,实现在队列尾部插入节点和在队列头部删除节点的功能。 一、什么是队列和栈? 1.1队列 队列是一种特殊的线性表,…

js数组分组,javascript实现数组的按属性分组

在JavaScript中,有多种方法可以对数组按属性进行分组。以下是至少6种常见的方法: 6种方法的使用场景和优缺点的简要描述: 使用reduce()方法: 使用场景:适用于需要对数组进行聚合操作的情况,可以自定义聚合…

Linux 命令大全(下)

Linux 命令大全(上) 本文目录 6. 网络通讯 常用命令6.1 ssh 命令 – 安全的远程连接服务器6.1.1 含义6.1.2 语法格式6.1.3 常用参数6.1.4 参考示例 6.2 netstat 命令 – 显示网络状态6.2.1 含义6.2.2 语法格式6.2.3 常用参数6.2.4 参考示例 6.3 dhclient…

Postgresql的一个bug_涉及归档和pg_wal

故障描述: 服务器ocmpgdbprod1,是流复制主节点,它的从节点是ocmpgdbprod2,两个节点的Postgresql数据库版本都是PostgreSQL 11.6,主节点ocmpgdbprod1配置了pg_wal归档,从节点ocmpgdbprod2没有配置pg_wal归档…

DVWA XSS

反射型 low 查看源代码&#xff0c;没有任何过滤 构造 medium 这里是过滤了 high 这里把双写和大小写和JavaScript都过滤了,用事件来绕过<img src0 οnerrοralert(“xss”)> impossible 这里使用htmlspecialchars进行实体转换并且输出的结果还不能使用事件来…

IOS打包上架AppStore被驳回信息记录

1&#xff1a;错误码5.2.1错误信息如下 Your app includes content or features from 公司名, or is marketed to control external hardware from 公司名, without the necessary authorization. The inclusion of third-party content within your app, whether retrieved fr…

前端面试中Vue的有经典面试题一

1. 谈谈你对MVVM开发模式的理解 MVVM分为Model、View、ViewModel三者。 Model&#xff1a;代表数据模型&#xff0c;数据和业务逻辑都在Model层中定义&#xff1b; View&#xff1a;代表UI视图&#xff0c;负责数据的展示&#xff1b; ViewModel&#xff1a;负责监听Model中…

Android Event事件分发(新版本)

之前写过一个方案&#xff08;添加链接描述&#xff09;&#xff0c;突然觉得很麻烦&#xff0c;于是有了新的方案&#xff1a; 首先先说要解决的问题&#xff1a; 当父布局能滑动&#xff0c;子View也能滑动&#xff0c;就会出现滑动冲突 解决思路&#xff1a;我们按下子Vie…

视觉化洞察:为什么我们需要数据可视化?

为什么我们需要数据可视化&#xff1f;这个问题在信息时代变得愈发重要。数据&#xff0c;如今已成为生活的一部分&#xff0c;我们每天都在产生大量的数据&#xff0c;从社交媒体到购物记录&#xff0c;从健康数据到工作表现&#xff0c;数据无处不在。然而&#xff0c;数据本…

抖音短视频账号矩阵seo分发系统--开发源代

1.抖音矩阵号/抖音短视频SEO矩阵系统开发及开发者思路分享: 短视频获客系统开发原型支持短视频智能批量剪辑、短视频多账号管理定时发布&#xff0c;短视频排名查询及优化&#xff0c;智能客服私信回复等&#xff0c;那么短视频seo系统开发时需要开发哪些功能呢&#xff1f;今天…

SciencePlots 基本语法及特点

文章目录 简介安装 LaTeXSciencePlots 绘图示例 简介 用户有时需要根据期刊的配图绘制要求进行诸如字体、刻度轴、轴脊、图例等图层属性的定制化修改&#xff0c;耗时的同时也会容易导致用户忽略一些图层细节要求。 SciencePlots 作为一个专门用于科研论文绘图的第三方拓展工…

Revit SDK 介绍:DistanceToPanels 根据距离设置参数

前言 这个例子展示如何计算距离&#xff0c;并将距离的值设置为参数。 内容 选中球形&#xff0c;运行程序&#xff0c;会设置控制高度的参数&#xff0c;距离越远参数值越大。效果如下所示&#xff1a; 核心逻辑&#xff1a; 得到选中物体的位置遍历分割表面内部的 Panel…

Unity AssetBundle(1):Assets打包和依赖(Dependencies)

对Unity5.x后的AssetBundle依赖机制有了一点理解&#xff0c;创建了一个项目验证 github:GeWenL / AssetBundlePro AbScene.unity 资源有哪些&#xff1f; Some common types of Asset assetbundle打包命令是 BuildPipeline.BuildAssetBundles ,格式有&#xff1a; 引用&…

Java工具类记录

HTML转word 相关依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency>import org.apache.poi.poifs.filesystem.DirectoryEntry; import org.apache.poi…

python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

简介 上一篇和大家一起科普扫盲接口后&#xff0c;知道什么是接口&#xff0c;接口类型等&#xff0c;对其有了大致了解之后&#xff0c;我们就回到主题-接口测试。 什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各…

“算力+运力”扇动双翼,制造算力时代的蝴蝶效应

8月18日-20日&#xff0c;第二届中国算力大会在宁夏银川成功举办。 今年以来&#xff0c;随着大模型、AIGC等新技术的火爆&#xff0c;站在舞台中央的算力承载了无尽的期待&#xff0c;发展数字经济需要以算力基础设施为前提&#xff0c;社会各界已经形成了共识。 与此同时&…

无涯教程-Android - DatePicker函数

Android Date Picker允许您在自定义用户界面中选择由日,月和年组成的日期。为此功能,android提供了DatePicker和DatePickerDialog组件。 在本教程中,我们将通过DatePickerDialog演示日期选择器的用法, DatePickerDialog是一个包含DatePicker的简单对话框。 为了显示DatePicker…

Leetcode110. 平衡二叉树

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 题解&#xff…