汇编指令(四)移位指令

汇编指令(四)移位指令学习概要格式移位指令主要分四种一、逻辑移位指令1.逻辑左移指令SHL2.逻辑右移指令SHR3.逻辑移位指令的功能二、算术移位指令1.算术左移指令SAL2.算术右移指令SAR最高位不变的意思就是,最高位原来是1(0),右移过后最高位就补1(0)。3.算术移位指令的功能三、循环移位指令1.循环左移指令ROL2.循环右移指令ROR四、带进位的循环移位指令1.带进位的循环左移指令RCL2.带进位的循环右移指令移位指令对标志位的影响1

大家好,又见面了,我是你们的朋友全栈君。

学习概要

格式
在这里插入图片描述

在这里插入图片描述

移位指令主要分四种
在这里插入图片描述

一、逻辑移位指令

1.逻辑左移指令SHL

在这里插入图片描述

在这里插入图片描述

2.逻辑右移指令SHR

在这里插入图片描述
在这里插入图片描述

3.逻辑移位指令的功能

在这里插入图片描述

二、算术移位指令

1.算术左移指令SAL

在这里插入图片描述
在这里插入图片描述

2.算术右移指令SAR

在这里插入图片描述
在这里插入图片描述

最高位不变的意思就是,最高位原来是1(0),右移过后最高位就补1(0)。

3.算术移位指令的功能

在这里插入图片描述

三、循环移位指令

1.循环左移指令ROL

在这里插入图片描述
在这里插入图片描述

2.循环右移指令ROR

在这里插入图片描述
在这里插入图片描述

四、带进位的循环移位指令

1.带进位的循环左移指令RCL

在这里插入图片描述
在这里插入图片描述

2.带进位的循环右移指令

在这里插入图片描述
在这里插入图片描述

移位指令对标志位的影响

1.算术、逻辑指令

  • CF的影响比较明显,就看移位规则。
  • SF、ZF看移位后的结果
  • OF 当移位次数不为1时无定义。当移位操作改变了操作数的最高位时-符号位,OF=1,否则为0

2.循环移位指令

  • CF看移位规则
  • SF、ZF 不受影响
  • OF 当移位次数不为1时无定义。当移位操作改变了操作数的最高位时-符号位,OF=1,否则为0

区别就在于SF和ZF ,算术、循环指令看结果,循环指令无影响

1.

在这里插入图片描述

分析,AX逻辑左移时,最高位应该移进DX。逻辑左移AX时最高位时保存在CF里边,所以要想DX的最低位是AX移动的最高位,对DX进行带进位的循环左移。
在这里插入图片描述

2.

在这里插入图片描述

分析:假设数据为无符号数,结果仍为16位,不溢出。 乘3可以换成2的幂加减。比如换成逻辑左移2位(相当于乘4),再减去一次。或者逻辑左移移位(相当于乘2),再加一次。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134648.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue引入外部js文件并使用_为什么vue不使用ajax

    vue引入外部js文件并使用_为什么vue不使用ajax在一个组件内部需要引入一个js文件,如果放在index.html,每个组件都会有这个js,所以需要在组件内单独引入。下载静态文件下来后,放入文件夹:组件代码:<template><div><button@click=”compressImage”>点击调用方法</button></div></template><script>importImageCompressorfrom’@/

    2022年10月8日
    3
  • java interface 里面的抽象方法默认public[通俗易懂]

    java interface 里面的抽象方法默认public[通俗易懂]①interface里声明的方法,会自动在方法名之前加上publicabstract②interface里声明的field,会自动在field之前加上publicstaticfinal这是因为,interface存在的目的就是要和外界公开如要在别的类里,实现interface里面的,抽象方法。这个方法的修饰符,也一定要public.也就是说,不能用比public还要受限制的修饰符。…

    2022年10月7日
    2
  • idea2022在线激活码_在线激活

    (idea2022在线激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    128
  • windows通过cmd查找端口占用

    windows通过cmd查找端口占用windows通过cmd查找端口占用1.查看端口占用情况netstat-ano2.查看某个端口被占用情况netstat-ano|findstrxxxx//xxxx为查询的端口号3.查看某个状态的端口netstat-ano|findstrxxxx//xxxx为查询的端口状态具体端口状态请查找后面描述。…

    2022年5月19日
    47
  • 详解SpringBoot整合Mybatis框架

    详解SpringBoot整合Mybatis框架文章目录前言一 创建 SpringBoot 项目二 配置 Mybatis1 在 pom xml 文件中添加 jar 包依赖 2 SpringBoot 整合 Mybatis 配置文件三 创建 Mapper 接口四 创建 XML 映射文件五 测试是否整合成功总结前言人生是一段旅程 走过的路 就是你编织的生活 我们无法预知以后的路途 但是 我们能把握现在的自己 珍惜身边的一切 脚踏实地的走 走好自己的路 不在生命里给自己留下遗憾的风景 对于企业开发来说 稳定性和便捷性是最重要的两个特性 SpringBoot 更像是一个框架的框架

    2025年8月30日
    3
  • 程序员必备的网站推荐软件_程序员解决问题的网站

    程序员必备的网站推荐软件_程序员解决问题的网站程序员必备的网站推荐注:我收集的网站很有限,可能有很多网站没有列出,希望大家可以通过评论告知我,我会尽快添加。一、开源代码托管平台1.GitHub(https://github.com)gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名gitHub。gitHub于2008年4月10日正式上线,除了git代码仓库托管…

    2022年10月11日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号