汇编语言——移位指令[通俗易懂] 大家好,又见面了,我是你们的朋友全栈君。 基本概念 移位操作指令:移位操作指令是一组经常使用的指令,属于汇编语言逻辑指令中的一部分,它包括移位指令(含算术移位指令、逻辑移位指令),循环移位指令(含带进位的循环移位指令),双精度移位指令三大类。其功能为将目的操作数的所有位按操作符规定的方式移动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,如图:
汇编语言——移位指令[通俗易懂] 意义:同SAL2、逻辑右移指令SHR 功能:右移一次,最高位补0.区别!最低位送入CF标志位。如图:
汇编语言——移位指令[通俗易懂] 意义:用于实现无符号数/2的n次幂操作。 三、循环移位指令 1、循环左移指令ROL 功能:左移一次,左移前的最高位送入最低位以及CF.如图:
汇编语言——移位指令[通俗易懂]2、循环右移指令ROR 功能:右移一次,右移前的最低位送入最高位以及CF.如图:
汇编语言——移位指令[通俗易懂]3、带进位的循环左移指令RCL 功能:左移一次,左移前的最高位送入CF,CF的内容送入最低位.如图:
汇编语言——移位指令[通俗易懂]4、带进位的循环右移指令RCR 功能:右移一次,右移前的最低位送入CF,CF的内容送入最高位.如图:
汇编语言——移位指令[通俗易懂] 四、双精度移位指令 1、双精度左移指令SHLD2、双精度右移指令SHRD 参考文章 https://blog.csdn.net/sigusoft_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.cn/127848.html原文链接:https://javaforall.cn
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/50687.html