汇编语言中各种移位指令的区别与联系

汇编语言中各种移位指令的区别与联系本文转载自:https://blog.csdn.net/richerg85/article/details/27558005SHL、SHR、SAL、SAR:移位指令;SHL(ShiftLeft):   逻辑左移;SHR(ShiftRight):   逻辑右移;SAL(ShiftArithmeticLeft):算术左移;SAR(Shift…

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

本文转载自:https://blog.csdn.net/richerg85/article/details/27558005

SHL、SHR、SAL、SAR: 移位指令




;SHL(Shift Left):             逻辑左移
;SHR(Shift Right):            逻辑右移
;SAL(Shift Arithmetic Left):  算术左移
;SAR(Shift Arithmetic Right): 算术右移

;其中的 SHL 和 SAL 相同, 但 SHR 和 SAR 不同.

;SHL、SAL: 每位左移, 低位补 0,  高位进 CF
;SHR     : 每位右移, 低位进 CF, 高位补 0
;SAR     : 每位右移, 低位进 CF, 高位不变

;它们的结果影响 OF、SF、ZF、PF、CF
;它们的指令格式相同:
SHL r/m, i8

SHL r/m, CL

ROL、ROR、RCL、RCR: 循环移位指令




;ROL(Rotate Left):                循环左移
;ROR(Rotate Right):               循环右移
;RCL(Rotate through Carry Left):  带进位循环左移
;RCR(Rotate through Carry Right): 带进位循环右移

;ROL: 循环左移, 高位到低位并送 CF
;ROR: 循环右移, 低位到高位并送 CF
;RCL: 循环左移, 进位值(原CF)到低位, 高位进 CF
;RCR: 循环右移, 进位值(原CF)到高位, 低位进 CF

;它们的结果影响 OF、CF
;它们的指令格式相同:
SHL r/m, i8
SHL r/m, CL

使用的时候务必区别清楚:

逻辑移位指令移出位进CF,缺位补0;算术移位时若缺低位,则补0,若缺高位,则保持该位不变。

循环移位指令中,rol与ror是不带cf位的循环移位,rcl与rcr是带cf位的循环移位。

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

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

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


相关推荐

  • 多层感知机理解(多层感知机原理)

    多层感知器(Muti-LayerPercetron)和卷积网络(ConvolutionalNeuralNetwork)。这两种网络都属于前馈型网络(Feedforwardnetwork),其中多层感知器(MLP)是最简单也是最常见的一种神经网络结构,它是所有其他神经网络结构的基础,好在我对神经网络的了解是从卷积神经网络开始的,对基本的原理和模型已经有了了解,所以学习起来相对容易,先看多层感知机的模型:1.网络的连接及输出:1.最左边就是我们的输入层了,算是网络的第0层,通常是一个向量x:

    2022年4月11日
    375
  • 喜报!盛讯美恒USBserver收到百度云邀请 正式入驻百度云市场

    喜报!盛讯美恒USBserver收到百度云邀请 正式入驻百度云市场

    2021年6月29日
    143
  • CSS calc()函数与单位vh 常见height:100vh[通俗易懂]

    CSS calc()函数与单位vh 常见height:100vh[通俗易懂]calc()函数属于CSS3版本内容,用于动态计算长度值。例如:width:calc(100%-10px);需要注意的是,运算符前后都需要保留一个空格。calc()函数支持”+”,”-“,”*”,”/”运算;举例,给一个div动态设置宽度如下:#divBox{position:absolute;left:50px;width:calc(100%-100p…

    2022年6月5日
    45
  • c语言课程设计图书管理系统 报告_课程设计图书管理系统

    c语言课程设计图书管理系统 报告_课程设计图书管理系统实训项目名称:图书管理系统的设计与实现1.实训目的开发一个小型的图书管理应用软件,使用该软件可以实现图书信息的登记、浏览、借书、还书、删除和更新等操作。通过该系统的实现可以了解C++连接数据库的原理和技术,掌握VC界面的设计方法。2.实训要求(1)选择适当的程序开发语言(建议用C或C++)和数据库系统,完成实训内容。(2)程序能够正常运行,运算结果正确,满足设计要求。3.功…

    2022年10月10日
    0
  • Hmily(1)

    Hmily(1)1. Hmily是个高性能异步分布式事务TCC框架,具体包含SpringAOP,Disruptor,Dubbo等框架,当然还有其他的RPC框架。源码在https://github.com/yu199195/hmily,本文以duubo调用,mysql存储事务日志,kryo序列化为主,主要以下单支付减库存减余额为例,注解为Hmily,确认方法,取消方法和本次的tyr操作方法参数应该保持一致。前两个…

    2022年5月22日
    38
  • Ext4文件系统fsck后损坏修复方法-linux数据恢复案例[通俗易懂]

    Ext4文件系统fsck后损坏修复方法-linux数据恢复案例[通俗易懂]在数据恢复案例开始之前有几个概念需要了解块组:Ext4文件系统的全部空间被划分为若干个块组,每个块组内的结构都是大致相同的。块组描述符表:每个块组都对应一个块组描述符,这些块组描述符统一放在文件系统的前部,称为块组描述符表。每个块组描述符大小为32字节,其主要描述块位图、i-节点位图及i-节点表的地址等信息。超级块(Superblock):用于存储文件系统的配置参数(如块大小、总块数、i-节点数…

    2022年5月25日
    171

发表回复

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

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