Intel 64 and IA-32 Architectures Software Developers Manual Volume 2B, Instruction Set Reference, N-Z
Vol. 2B 4-231
INSTRUCTION SET REFERENCE, N-Z
tempCF ← MSB(DEST);
DEST ← (DEST
∗ 2) + tempCF;
tempCOUNT ← tempCOUNT – 1;
OD;
ELIHW;
CF ← LSB(DEST);
IF COUNT
= 1
THEN OF ← MSB(DEST) XOR CF;
ELSE OF is undefined;
FI;
FI;
(* ROR instruction operation *)
IF tempCOUNT > 0) (* Prevent updates to CF *)
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;
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 (see “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 non-writable 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.