汇编指令之移位指令

    移位指令包括了 算术移位指令、逻辑移位指令、循环移位指令。

    格式为:xxx oper1,CL/1         ;移位次数只能是1或者存放在CL里面。

一、算术移位指令

1、算术左移指令SAL

功能:左移一次,最低位补0,最高位送入CF标志位,如图:汇编指令之移位指令_第1张图片

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

2、算术右移指令SAR

功能:右移一次,最高位保持不变,最低位送入CF标志位,如图:汇编指令之移位指令_第2张图片

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

二、逻辑移位指令

1、逻辑左移SHL

功能:同SAL,如图:

汇编指令之移位指令_第3张图片

意义:同SAL

2.逻辑右移SHR

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

汇编指令之移位指令_第4张图片

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


三.循环移位指令

1.循环左移指令ROL

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

汇编指令之移位指令_第5张图片

2.循环右移指令ROR

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

汇编指令之移位指令_第6张图片

3、带进位的循环左移RCL

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

汇编指令之移位指令_第7张图片

4.带进位的循环右移RCR

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

汇编指令之移位指令_第8张图片


未完待续:后面在下会补充些案例。。现在就写写概念的东西。。图自己码的,有点糙。


你可能感兴趣的:(汇编)