逻辑左移右移
2019-08-28 本文已影响0人
一__谷__作气
* 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所进行的操作刚好相反。