当前位置:网站首页 > 技术博客 > 正文

汇编移位操作符



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

移位操作:移位操作是一组经常使用的指令,属于逻辑指令中的一部分,它包括移位指令(含算术移位指令、逻辑移位指令),循环移位指令(含带进位的循环移位指令),双精度移位指令三大类。其功能为将目的的所有位按规定的方式移动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://javaforall.cn/127848.html原文链接:https://javaforall.cn

版权声明


相关文章:

  • 语音识别程序c语言2025-06-20 08:30:00
  • flvurl2025-06-20 08:30:00
  • offsetwith2025-06-20 08:30:00
  • 线程之间的同步机制2025-06-20 08:30:00
  • c python区别2025-06-20 08:30:00
  • 线程之间的通信简单2025-06-20 08:30:00
  • 安装pynput2025-06-20 08:30:00
  • 电脑版的阅读软件有哪些2025-06-20 08:30:00
  • vue2还有必要学吗2025-06-20 08:30:00
  • usb协议深入解读2025-06-20 08:30:00