循环左移指令:ROL DEST,COUNT
指令功能:把目的地址中的数据循环左移COUNT次,每次从最高位(最左)移出的数据位都补充到最低位(最右),最后从最高位(最左)移出的数据位保存到CF标志位。
标志位影响:CF标志用于保存最后 从最高位移出的数据位。如果COUNT=1,OF标志有意义,如果移位前后数据的符号位发生了变化,OF=1;如果符号位没有发生变化,OF=0。如果COUNT>1,OF标志不确定(没有意义)。
shl就是逻辑左移,右面补零。
例如
mov ax,00010101
shlax,1shl A,count(左移count位)
;此时ax=00101010
现在计算机中的数都是补码表示,shl就相当于乘二
=求和(2^i),左移就相当于幂值加一,即求和(2^(i+1))=2*求和(2^i)
例如 mov ax,00010101 ;21
shl ax,1 ;ax=00101010 ;42