汇编语言——移位指令[通俗易懂]

基本概念移位操作指令:移位操作指令是一组经常使用的指令,属于汇编语言逻辑指令中的一部分,它包括移位指令(含算术移位指令、逻辑移位指令),循环移位指令(含带进位的循环移位指令),双精度移位指令三大类。其功能为将目的操作数的所有位按操作符规定的方式移动1位或按寄存器CL规定的次数(0~255)移动,结果送入目的地址。目的操作数是8位(或16位)的寄存器数据或存储器数据。基本格式格式为…

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

基本概念

移位操作指令:移位操作指令是一组经常使用的指令,属于汇编语言逻辑指令中的一部分,它包括移位指令(含算术移位指令、逻辑移位指令),循环移位指令(含带进位的循环移位指令),双精度移位指令三大类。其功能为将目的操作数的所有位按操作符规定的方式移动1位或按寄存器CL规定的次数(0~255)移动,结果送入目的地址。目的操作数是8位(或16位)的寄存器数据或存储器数据。

基本格式 

格式为:xxx oper1,CL/1

移位次数只能是1或者存放在CL里面。

移位指令

一、算术移位指令

1、算术左移指令SAL

功能:左移一次,最低位补0,最高位送入CF标志位,如图:

汇编语言——移位指令[通俗易懂]

意义:左移n次,等于x2的n次幂。所以可用于有符号操作数做x2的n次幂运算。

2、算术右移指令SAR

功能:右移一次,最高位保持不变,最低位送入CF标志位,如图:

汇编语言——移位指令[通俗易懂]

意义:右移n次,等于/2的n次幂。所以可用于有符号操作数做/2的n次幂运算。

二、逻辑移位指令

1、逻辑左移指令SHL

功能:同SAL,如图:

汇编语言——移位指令[通俗易懂]

意义:同SAL

2、逻辑右移指令SHR

功能:右移一次,最高位补0.区别!最低位送入CF标志位。如图:

汇编语言——移位指令[通俗易懂]

意义:用于实现无符号数/2的n次幂操作。

三、循环移位指令

1、循环左移指令ROL

功能:左移一次,左移前的最高位送入最低位以及CF.如图:

汇编语言——移位指令[通俗易懂]

2、循环右移指令ROR

功能:右移一次,右移前的最低位送入最高位以及CF.如图:

汇编语言——移位指令[通俗易懂]

3、带进位的循环左移指令RCL

功能:左移一次,左移前的最高位送入CF,CF的内容送入最低位.如图:

汇编语言——移位指令[通俗易懂]

4、带进位的循环右移指令RCR

功能:右移一次,右移前的最低位送入CF,CF的内容送入最高位.如图:

汇编语言——移位指令[通俗易懂]

四、双精度移位指令

1、双精度左移指令SHLD

 

2、双精度右移指令SHRD

 

参考文章

https://blog.csdn.net/qq_41627235/article/details/80368254

https://baike.baidu.com/item/%E7%A7%BB%E4%BD%8D%E6%8C%87%E4%BB%A4/10562725?fr=aladdin

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

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

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


相关推荐

  • 子网划分习题及考点分析(含答案及理解)

    子网划分习题及考点分析(含答案及理解)Mon21Mon28Mon04已完成进行中计划中现有任务子网划分一、选择题:1.92.168.1.0/24使用掩码255.255.255.240划分子网,其子网数为(),每个子网内可用主机地址数为()A.1414B.1614C.2546D.1462解析:(1)掩码255.255.255.240为28位,28-24=4网络位向主机位借用了4位,子网数为2的4次

    2022年6月27日
    46
  • 微商分销管理系统开发解决方案

    微商分销管理系统开发解决方案微商分销管理系统开发-专业微商分销管理系统解决方案微商分销管理系统是能掌控代理商所以大数据及代理管理体系,通过系统能对产品的生产、仓储、分销、物流运输、市场巡检及消费者等环节进行采集跟踪,实现产品生产环节、销售环节、流通环节…

    2022年5月17日
    38
  • C++常量const建议收藏

    常量折叠概念常量折叠表面上的效果和宏替换是一样的,只是“效果上是一样的”,而两者真正的区别在于,宏是字符常量,在预编译宏替换完成后,该宏名字会消失,所有对宏的引用已经全部被替换为它所对应的值,编译器

    2021年12月19日
    38
  • a memorable day_the origin of mid autumn

    a memorable day_the origin of mid autumn(Verb)Pronunciation:[kê-‘lêm-nee-eyt]Definition:Tomakemaliciousstatementsknowntobefalseinaneffortto…

    2025年5月23日
    2
  • python for循环求1到100的和_python中用for循环语句实现1加到100的方法

    python for循环求1到100的和_python中用for循环语句实现1加到100的方法python中用for循环语句实现1加到100的方法发布时间:2020-12-0714:28:48来源:亿速云阅读:59作者:小新小编给大家分享一下python中用for循环语句实现1加到100的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!计算机是现代一种用于高速计算的电子计算机器,是一种高级的计算工具。可以进行…

    2022年8月12日
    10
  • 网页406错误(网页错误代码1607)

    原因出现网页出现406问一般为一下两种情况 *1、缺失jar包, * *2、如果访问的url的后缀名是以.html结尾的,则服务端不能响应json数据。因为springMVC会误以为.html后缀名的请求,是请求访问某个html文件,则springMVC则无法处理响应json数据 解决方法 *解决方法: * 1、检查所依赖的jar包是否完整 *2、在we…

    2022年4月17日
    59

发表回复

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

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