2.3 shl,shr,inc,dec,xchg,neg指令,中断int指令

汇编语言

1. shl左移指令

  • shl是逻辑左移指令,它的功能是将一个reg或内存单元中的数据向左移位;将最后移出的一位写入cf中;最低位用0补充
  • shl:shift left
  • 例如:0100 1000b 往左移一位,变成10010000b,即48h变成90h
    在这里插入图片描述

2. shr右移指令

  • shr是逻辑右移指令,它的功能是将一个reg或内存单元中的数据向右移位;将最后移出的一位写入cf中;最高位用0补充
  • shr:shift right
  • 例如:10010000b往右移一位变成0100 1000b ,即90h变成48h
    在这里插入图片描述

3. inc增加指令

  • 给reg增加1位,例如0002h inc 后变成0003 h
  • inc:increase增加

在这里插入图片描述

4. dec减少指令

  • 给reg减少1位,例如0004 h变成0003 h
  • dec:decrease减少

在这里插入图片描述

5. xchg交换指令

  • 将两个reg的值交换,这样子就不用第三个reg来做中间的水桶,即倒水法交换两个reg的值,更方便

在这里插入图片描述

6. neg取反指令

  • 例如:1111h取反之后就是eeeeh,即0001 0001 0001 0001b取反后为 1110 1110 1110 1110b。

在这里插入图片描述

7. int中断指令

  • 中断,可以int 0来中断程序
    在这里插入图片描述

  • 安全退出程序的写法

mov ax,4c00
int 21tt

在这里插入图片描述
当cs = f000时,说明程序已经中断,为了跳出中断的程序,cs会从073f指向f000,同时程序也已经退出了。

8. nop空指令

  • 可以用来占位,刚好占一个字节,可以将其当做一个空的代码段
    在这里插入图片描述

  • 这里用了3个nop
    在这里插入图片描述

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

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

相关文章

Full-RNS CKKS

参考文献: [HS13] Halevi S, Shoup V. Design and implementation of a homomorphic-encryption library[J]. IBM Research (Manuscript), 2013, 6(12-15): 8-36.[BEHZ16] Bajard J C, Eynard J, Hasan M A, et al. A full RNS variant of FV like somewhat homomo…

【比较mybatis、lazy、sqltoy、mybatis-flex、easy-query操作数据】操作批量新增、分页查询(三)

orm框架使用性能比较 比较mybatis、lazy、sqltoy、mybatis-flex、easy-query操作数据 环境: idea jdk17 spring boot 3.0.7 mysql 8.0测试条件常规对象 orm 框架是否支持xml是否支持 Lambda对比版本mybatis☑️☑️3.5.4sqltoy☑️☑️5.2.98lazy✖️☑️1.2.4…

opencv VideoCapture

videocapture顾名思义视频捕捉,主要是从视频文件、摄像头或网络摄像头获取视频流数据,并将其作为一系列帧进行处理。 我们这里主要实现了获取项目文件夹下的1.mp4视频文件,然后经过灰度变化、均值滤波、边缘检测然后将视频显示出来 #include…

在Linux以命令行方式(静默方式/非图形化方式)安装MATLAB(正版)

1.根据教程,下载windows版本matlab,打开图形化界面,选择linux版本的只下载不安装 2.获取安装文件夹 3.获取许可证 4.安装 (1)跳过引用文章的2.2章节 (2)本文的安装文件夹代替引用文章的解压IS…

(1)预处理

我们需要的文件结构如上 main.cpp add.h add.cpp add.h 这里使用riscv的工具链编译为.i文件,需要使用-E,就是只进行预处理,我们可以得到两个.i文件即main.i和add.i main.i 这里看到main.i里头文件全部替换,然后多了三万多行 所以…

如何远程连接MySQL数据库?

在现代互联网时代,远程连接MySQL数据库成为了许多开发者和管理员必备的技能。这不仅方便了数据的共享和管理,还可以使多个团队在全球范围内协同工作。本文将介绍如何通过天联组网实现远程连接MySQL数据库,并实现高效的信息远程通信。 天联组网…

C#,最小代价多边形三角剖分MCPT(Minimum Cost Polygon Triangulation)算法与源代码

1 最小代价多边形三角剖分算法 凸多边形的三角剖分是通过在非相邻顶点(角点)之间绘制对角线来形成的,这样对角线就不会相交。问题是如何以最小的代价找到三角剖分的代价。三角剖分的代价是其组成三角形的权重之和。每个三角形的重量是其周长…

wy的leetcode刷题记录_Day81

wy的leetcode刷题记录_Day81 声明 本文章的所有题目信息都来源于leetcode 如有侵权请联系我删掉! 时间:2024-3-4 前言 目录 wy的leetcode刷题记录_Day81声明前言232. 用栈实现队列题目介绍思路代码收获 138. 随机链表的复制题目介绍思路代码收获 141. 环形链表题…

09 Qt扩展LineEdit组件:Input输入框

系列文章目录 01 Qt自定义风格控件的基本原则-CSDN博客 02 从QLabel聊起:自定义控件扩展-图片控件-CSDN博客 03 从QLabel聊起:自定义控件扩展-文本控件-CSDN博客 04 自定义Button组件:令人抓狂的QToolButton文本图标居中问题-CSDN博客 0…

C++ 之LeetCode刷题记录(三十七)

😄😊😆😃😄😊😆😃 开始cpp刷题之旅。 目标:执行用时击败90%以上使用 C 的用户。 17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表…

力扣hot8---滑动窗口

这里先跳过力扣hot7啦,这几天就回更~ 题目: 滑动窗口思路: 首先左窗口(left)指向的是第0个元素,依次遍历循环每一个元素,维护一个unordered_set,如果当前被遍历的元素存在于unorder…

Java基础 - 6 - 面向对象(二)

Java基础 - 6 - 面向对象(一)-CSDN博客 二. 面向对象高级 2.1 static static叫做静态,可以修饰成员变量、成员方法 2.1.1 static修饰成员变量 成员变量按照有无static修饰,分为两种:类变量、实例变量(对象…