SHR,SAR,SAL,SHL区别

SHL和SAL事实际没有区别,移动结果都是一样的,SHL是逻辑左移,SAL,算法左移,它们都是向左移动几位,最右就补几个0比如 SHL ax,CL ;ax=1111 1111B CL=4 ,移动后AX=1111 0000SAL AX,CL ;AX=0101 1100 CL=5移动后 AX=1000 0000 SHR是逻辑右往,向右移动几位,最左边(即最高位补0)比如 SHR AX, CL ;AX=1101 1010 CX=3 移动后AX=0001 1011 SAR是算法右移,向右移动几位,最左边第一位保持,其他补0SAR AX, CL AX=11 00 1111,CX=5移动后AX= 1000 0110SAR AX,CL AX=0011 1111 CX=3 移动后 AX= 0 00 00111