<<<    Index    >>>
3-594
INSTRUCTION SET REFERENCE
RCL/RCR/ROL/ROR-—Rotate (Continued)
(* ROR instruction operation *)
WHILE (tempCOUNT 
?
 0)
DO
tempCF 
<
 LSB(SRC);
DEST 
<
 (DEST / 2) + (tempCF 
?
 2
SIZE
);
tempCOUNT 
<
 tempCOUNT – 1;
OD;
ELIHW;
CF 
<
 MSB(DEST);
IF COUNT = 1
THEN OF 
<
 MSB(DEST) XOR MSB 
?
 1(DEST);
ELSE OF is undefined;
FI;
Flags Affected
The CF flag contains the value of the bit shifted into it. The OF flag is affected only for single-
bit rotates (refer to “Description” above); it is undefined for multi-bit rotates. The SF, ZF, AF,
and PF flags are not affected.
Protected Mode Exceptions
#GP(0)
If the source operand is located in a nonwritable segment.
If a memory operand effective address is outside the CS, DS, ES, FS, or
GS segment limit.
If the DS, ES, FS, or GS register contains a null segment selector.
#SS(0)
If a memory operand effective address is outside the SS segment limit.
#PF(fault-code)If a page fault occurs.
#AC(0)
If alignment checking is enabled and an unaligned memory reference is
made while the current privilege level is 3.
Real-Address Mode Exceptions
#GP
If a memory operand effective address is outside the CS, DS, ES, FS, or
GS segment limit.
#SS
If a memory operand effective address is outside the SS segment limit.
<<<    Index    >>>