shl和shr

来源:互联网 发布:淘宝客推广广告语 编辑:程序博客网 时间:2024/04/26 19:20
 

shl和shr是逻辑移位指令。

shl是逻辑左移指令,它的功能为:

(1)将一个寄存器或内存单元中的数据向左移位;

(2)将最后移出的一位写入CF中;

(3)最低位用0补充。

 

指令:
mov al,01001000b

shl al,1 ;将al中数据左移一位

 

执行后(al)=10010000b,CF=0。

 

注意:

如果移动位数大于1时,必须将移动位数放在cl中。

比如,指令:

mov al,01010001b

mov cl,3

shl al,cl

执行后(al)=10001000b,因为最后移出的一位是0,所以CF=0。

 

shr是逻辑右移指令,它和shl所进行的操作刚好相反。