全国计算机考试三级PC技术第二章(15)
移位指令
这类指令可将寄存器与存储器单元8/16/32位二进制数进行逻辑移位、算术移位或循环移位。在移位过程中,这些指令都把CF看作扩展位,用它接收从操作数最左或最右移出的一个二进位。
SHL DST,SRC ;逻辑左移,SRC决定移位次数,最高位进入标志位CF,最低位补0
SHR DST,SRC ;逻辑右移,操作与SHL类似,不同的只是移位方向相反
SAL DST,SRC ;算术左移,操作与SHL相同,但符号位发生变化时,OF置1
SAR DST,SRC ;算术右移,操作与SHR类似,但每次移位通过复制保持号位不变
ROL DST,SRC ;循环左移,移出的位送到操作数的另一端,CF不参加循环移位
ROR DST,SRC ;循环右移,移出的位送到操作数的另一端,CF不参加循环移位
RCL DST,SRC ;带进位循环左移,CF作为操作数的扩展,一起参加循环移位
RCR DST,SRC ;带进位循环右移,CF作为操作数的扩展,一起参加循环移位
SHRD DST,REG,SRC ;双精度右移
SHLD DST,REG,SRC ;双精度左移