算术右移:
将操作数右移m位,同时每移一位,左边的符号位保持不变,移出的最低位进入标志位CF。对于有符号数和无符号数而言,算术右移相当于除以2.
如:
1001 0110 右移1位就是:1100 1011.
4个循环移位指令:
循环移位指令类似移位指令,但要将从一端移出的位返回到另一端形成循环。它分成不带进位循环移位和带进位循环移位,分别具有左移或右移操作
ROL reg/mem,1/CL ;不带进位循环左移
ROR reg/mem,1/CL ;不带进位循环右移
这两条指令不将进位标志CF纳入循环位中。
RCL reg/mem,1/CL ;带进位循环左移
RCR reg/mem,1/CL ;带进位循环右移
这两条指令将进位标志CF纳入循环位中,与操作数一起构成的9位或17位二进制数一起移位。
循环移位指令的操作数形式与移位指令相同,如果仅移动一次,可以用1表示;如果需要移位多次,则需用CL寄存器表示移位次数。
循环移位指令按照指令功能设置进位标志CF,不影响SF、ZF、PF、AF标志。对OF标志的影响,循环移位指令与前面介绍的移位指令一样。
参看:http://www2.zzu.edu.cn/qwfw/hbyycai/courses/list.asp?id=98