4、循环移位指令

循环移位指令有:循环左移ROL(Rotate Left)和循环右移ROR(Rotate Right)。

指令的格式:ROL/ROR Reg/Mem, CL/Imm

受影响的标志位:CF和OF

循环左移/右移指令只是移位方向不同,它们移出的位不仅要进入CF,而且还要填补空出的位。具体功能如下图(a)、(b)所示。

(a)、ROL

(b)、ROR

下面是几个循环移位的例子及其执行结果。

循环移位指令

指令操作数的初值

指令执行后的结果

ROL  AX, 1

(AX)=6789H

(AX)=0CF12H

ROL  AX, 3

(AX)=6789H

(AX)=3C4BH

ROR  AX, 2

(AX)=6789H

(AX)=59E2H

ROR  AX, 4

(AX)=6789H

(AX)=9678H

学习和理解不带进位的循环移位指令的控件。