数据处理指令(一)—— 搬移指令MOV、MVN

news2024/11/27 12:56:14

数据处理指令指的是和数学运算、逻辑运算相关的指令,比如加减乘、与或非、赋值比较等  


         目录

1、MOV ——  直接搬移

(1) MOV 指令格式

(2) MOV生成指令的策略(MOV的优点)

(3) MOV 只能搬移“立即数”的原因(MOV的缺点)

2、MVN —— 先取反,后搬移


1、MOV ——  直接搬移

MOV类似于C语言中的直接赋值,其实就是将数据搬移到寄存器中。MOV只能搬移立即数,搬移的内容如果不是立即数,会报赋值不合法的错误。

(1) MOV 指令格式

语法:MOV  <register>, #value

使用:

MOV R0, #0        @把0搬移到r0寄存器,类似于 R0 = 0x00000000
MOV R2, R0        @把寄存器R0的值赋给R2
MOV PC, #0        @ 设置PC寄存器的值为0(PC是专用寄存器,存的是地址,必须满足4的整数倍)
                  @ 即便赋给PC的值不是4的整数倍,编译器会强制将低2位置0,使其满足4的整数倍
                  @ 比如赋值7,对应二进制111,最终会强制转成100.

注意:给寄存器赋予的值建议在 [0 , 255] 之间,也就是0x00~0xFF之间。

(2) MOV生成指令的策略(MOV的优点)

MOV生成的二进制机器码跟指令寄存器赋予的值相关。如果可以编译通过,生成的二进制机器码将包含寄存器的编号以及赋予寄存器的值。CPU在取指令的时候,指令中因为包含了数据,CPU就无需再去内存取一次数据,提升了CPU的处理效率。

o 指令

使用的汇编代码为:

  • MOV R0, #1      
  • MVN R0, #1  

o 寄存器

使用的汇编代码为:

  • MOV R0, #1      
  • MOV R9, #1  

o 搬移的值(赋予的值)

使用的汇编代码为:

  • MOV R0, #0x11      
  • MOV R0, #0x22  

(3) MOV 只能搬移“立即数”的原因(MOV的缺点)

从生成指令的策略来看,MOV生成的二进制指令主要包含三部分,分别是汇编代码、寄存器编号以及赋予寄存器的值。

赋予寄存器仅占据指令的一部分,不能是任意32位的数字,“立即数”一般是在[0, 255]这个区间里,即0x00~0xFF,搬运这个区间的数是没有问题的。超出这个区间,比如将0x1234赋值给R1寄存器,就会报如下错误。

MOV R1,#0x1234        @ 把0x1234搬移到r1寄存器

2、MVN —— 先取反,后搬移

MVN指令的作用也是搬移数据,但不是直接搬移,先将数据取反,然后再赋值给寄存器。

语法:MVN <register>, #value

使用:

MVN R0,#0xFF        @ 先将0xFF按位取反,再搬移(赋值)到R0寄存器

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

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

相关文章

问卷设计一:问卷题目哪些有类型和注意要点?

问卷法常被人们应用于社会调查中&#xff0c;它能反馈出最真实的社会信息。所以&#xff0c;很多企业为了最大程度地了解市场&#xff0c;也经常使用问卷调查法进行研究。不过&#xff0c;想要发挥出问卷法的最大用处&#xff0c;前提是要将问卷设计规范并且可量化。 想要设计…

用ArkTs在鸿蒙系统上画一个世界杯海报

偶然看到了CSDN关于世界杯的征文活动&#xff1a; 用代码画一个足球&#xff1f; 哈哈很有意思&#xff01; 想了想&#xff0c;画一个自定义View&#xff08;足球&#xff09;&#xff0c;当然是使用Canvas了&#xff0c;但除了Canvas还有没有其它方法呢&#xff1f;那是必须…

c语言算数转换 操作符

【题目名称】下面代码的结果是&#xff1a;( b)#include <stdio.h> int main() {int a, b, c;a 5;c a;b c, c, a, a;//逗号表达式从左向右以此计算 表达式结果是最后一个表达式b a c; //a9 先算加后算加等printf("a %d b %d c %d\n:", a, b, c);retu…

【软件测试】工作瓶颈?测试的出路在哪?

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 3年软件测试经验&am…

【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议

目录 一、基础知识 二、隧道技术 1、简介&#xff1a; 2、SMB隧道 3、ICMP隧道 4、DNS隧道 5、SSH协议 6、控制上线-插件 一、基础知识 【内网安全-基础】基础知识、信息收集、工具https://blog.csdn.net/qq_53079406/article/details/128292587?spm1001.2014.3001.55…

Seata 术语

爬虫组件分析目录概述需求&#xff1a;设计思路实现思路分析1.TC (Transaction Coordinator) - 事务协调者2.TM (Transaction Manager) - 事务管理器3.RM参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&…

[附源码]Nodejs计算机毕业设计基于的防疫隔离服务系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

ruoyi-vue 集成electron详细步骤

刚使用ruoyi-vue开始集成electron的可以直接去这个地址下载源码 ruoyi-vue-electron: 使用ruoyi-vue集成electron 集成步骤&#xff1a; 1、在ruoyi-vue项目中安装electron相关插件 //进入ruoyi-ui 按顺序执行安装以下4个插件yarn add electron yarn add electron-devtools-…

5、英飞凌-AURIX-TC3X7: PWM实验之使用 GTM -TOM 实现

目录5、英飞凌-AURIX-TC3X7&#xff1a; PWM实验之使用 GTM -TOM 实现1、GTM -TOM简介2、TOM框图3、TOM全局通道控制--TGC0, TGC14、实验简介4.1、实验目的4.2、TC3X7 GTM 简介4.3、具体配置流程5、具体实现5.1、Cpu0_Main.c5.2、TOM_PWM.C5.3、TOM_PWM.h5、英飞凌-AURIX-TC3X7…

StyleGAN系列

1. Progressive Growing of GANs for Improved Quality, Stability, and Variation (PGGAN) 作者&#xff1a; Tero Karras Timo Aila Samuli Laine Jaakko Lehtinen 基于一个理论&#xff0c;高分辨率的图像相对于较小分辨率的图像&#xff0c;是更难train的&#xff0c;…

List<T>, IQueryable, IEnumerable 关系和区别

最近在修项目的历史代码&#xff0c;发现搞混了很多拓展方法&#xff0c;写一篇博客澄清一下。 概念需要&#xff1a;iqueryable不应该和ienumerable比而应该和ilist比&#xff0c;ienumerable是这两者的父接口。 问题&#xff1a;IQueryable, IEnumerable的&#xff1f; &…

Linux vi/vim

vi/vim 的使用 基本上 vi/vim 共分为三种模式&#xff0c;分别是命令模式&#xff08;Command mode&#xff09;&#xff0c;输入模式&#xff08;Insert mode&#xff09;和底线命令模式&#xff08;Last line mode&#xff09;。 这三种模式的作用分别是&#xff1a; 命令模…

数据分析可视化-FineReport 图表排序接口

1. 概述 1.1 应用场景 图表数据展示的顺序是由图表绑定的数据顺序决定的&#xff0c;一般建议在 SQL 中排好序再用图表实现。 但总有些场景不支持提前在 SQL 中排好序&#xff0c;或需要图表实现动态排序&#xff0c;此时可参考本文方法使用排序接口实现。 1.2 功能简介 Fi…

文本转语音免费 微软Azure官网

使用跨 140 种语言和变体的 400 种神经网络语音吸引全球受众。使用极具表现力和类似人类的声音&#xff0c;使文本阅读器和已启用语音的助理等方案栩栩如生。神经网络文本转语音支持多种朗读风格&#xff0c;包括新闻广播、客户服务、呼喊、耳语以及高兴、悲伤等情感。 地址 文…

数据结构---二叉堆

二叉堆二叉堆自我调整插入节点&#xff08;上浮&#xff09;删除节点(下沉)构建二叉堆(所有非叶子节点依次“下沉”)二叉堆本质上是一种完全二叉树&#xff0c;它分为两个类型。最大堆最小堆 最大堆的任何一个父节点的值&#xff0c;都大于或等于它左、右孩子\节点的值 最小堆…

【实测】windows安装部署go实录(超详细)

之前我的课程中&#xff0c;关于go语言的安装是主要展示了mac的&#xff0c;windows的就一笔带过了。 结果被我说着了&#xff08;可能在第一步直接被劝退&#xff09;&#xff0c;好多用windows的小伙伴部署go语言环境各种问题各种坑&#xff0c;网上教程看了个一知半解。没办…

网络工程毕业设计 SSM药品管理系统(源码+论文)

文章目录1 项目简介2 实现效果2.1 界面展示3 设计方案3.1 概述3.2 系统流程3.2.1 添加信息流程3.2.2 操作流程3.2.3删除信息流程3.3 系统结构设计4 项目获取1 项目简介 Hi&#xff0c;各位同学好呀&#xff0c;这里是M学姐&#xff01; 今天向大家分享一个今年(2022)最新完成…

域0day-(CVE-2022-33679)容易利用吗

前言 最近twitter上关于CVE应该CVE-2022-33679比较火了&#xff0c;但是资料也是比较少&#xff0c;下面来唠唠吧。 kerberos认证原理 先了解几个概念 认证服务(Authentication server&#xff09;:简称AS,认证客户端身份提供认证服务。 域控服务器(Domain Control&#x…

ubuntu 安装 MySql 【亲测有效】

目录 一&#xff1a;ubuntu安装mysql 二&#xff1a;mysql 中文乱码 解决 三&#xff1a;Mysql数据库 远程连接授权 四&#xff1a;卸载Mysql并重新安装 五&#xff1a;Mysql 远程连接测试 一&#xff1a;ubuntu安装mysql 首先来到opt(安装)目录下&#xff0c;开启终端&am…

压缩包密码如何解除?

压缩包设置了加密&#xff0c;需要输入压缩包密码才能够顺利解压文件出来。但是有些时候&#xff0c;一些文件只需要一段时间内要加密&#xff0c;之后文件不需要加密了&#xff0c;每次解压文件的时候还是需要输入压缩包密码才行&#xff0c;就很麻烦&#xff0c;那么RAR压缩包…