汇编指令(四)移位指令

汇编指令(四)移位指令学习概要格式移位指令主要分四种一、逻辑移位指令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),再加一次。
在这里插入图片描述

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • compound extreme_essential hypertension

    compound extreme_essential hypertensioneXtremeComponents的eXtremeTable是一套很好的分页标签,比displayTag好多了。它使用jstl,所以与webwork,Struts,JSF集成也很方便,推荐大家用下面是我使用的例子:ec:table items=”users” var=”user” action=”” imagePath=”${ctx}/widgets/extremecomponent

  • 【转】汇编指令与机器码的相互转换

    【转】汇编指令与机器码的相互转换80x86opcodes:http://www.aogosoft.com/download/opcodes.rar

  • 数仓分层ods_跨境电商国内中转仓

    数仓分层ods_跨境电商国内中转仓一、ods层介绍1、保持数据原貌不做任何修改,起到备份数据的作用。2、数据采用LZO压缩,减少磁盘存储空间。100G数据可以压缩到10G以内。3、创建分区表,防止后续的全表扫描,在企业开发中大量使用分区表。4、创建外部表,在企业开发中,除了自己用的临时表,创建内部表外,绝大多数场景都是创建外部表。二、用户行为数据1、启动日志表ods_start_log//创建启动日志…

  • maven打包时打包指定的lib文件夹

    maven打包时打包指定的lib文件夹今天在打包自己的springboot项目时遇到了问题,报找不到类和符号。因为我有些依赖是放在项目lib文件夹中,那么打包的时候要连把它一起打包。修改pom.xml,添加一下内容:<build><plugins><plugin><groupId>or…

  • mybatis缓存配置

    mybatis缓存配置mybatis的缓存有三种方式:1、一级缓存(基于SqlSession会话级别的;2、二级缓存(基于nameSpace级别的,范围比以及缓存更广);3、第三方缓存;mybatis缓存使示意图:一、一级缓存说明:其中一级缓存是mybatis默认使用的缓存,无需手动配置,二级缓存需要手动配置;一级缓存失效条件1)sqlSession不同,由于一级缓存是基于sqlSession级别的,所以当使用不同sq…

  • python 写入txt不报错但是写不进去

    python 写入txt不报错但是写不进去python写入txt文件

发表回复

您的电子邮箱地址不会被公开。

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