shl 和 shr 指令
shl 和 shr 是逻辑移位指令,后抽课程中我们要用到移位指令,这时进行一下讲解。shl 逻辑左移指令,功能为:
1、将一个寄存器或内存单 元中的数据 向左移位;
2、将最后移出的一们写入CF中,
3、最低位用0补充,
例如如下指令:
mov al,01001000b
shl al,1 ;al中的数据左移一位
执行后al=10010000bcf=0
如果移动位数大于1时,必须将移动位数放在cl中。
例如:
执行后(al)=10001000b,那请问,CF的值是多少?
因为最后一们移出的是0,所以CF =0
可以看出,将X逻辑左移一位,相当于执行 x=x*2
shr 逻辑右移指令,它和shl所进行的操作是相反。
将一个寄存器或内存单元中数据向右移位;
将最后移出一位写入CF中;
最高位用0补充。
可以看出,将X逻辑右移一位,相当于执行X=X/2
页:
[1]