Intel 64 and IA-32 Architectures Software Developers Manual Volume 2B, Instruction Set Reference, N-Z

4-288 Vol. 2B
INSTRUCTION SET REFERENCE, N-Z
temp EAX – SRC;
SetStatusFlags(temp);
IF DF
= 0
THEN (E)DI (E)DI + 4;
ELSE (E)DI (E)DI – 4; FI;
FI;
FI;
64-bit Mode:
IF (Byte cmparison)
THEN
temp AL SRC;
SetStatusFlags(temp);
THEN IF DF
= 0
THEN (R|E)DI (R|E)DI + 1;
ELSE (R|E)DI (R|E)DI – 1; FI;
ELSE IF (Word comparison)
THEN
temp AX
SRC;
SetStatusFlags(temp);
IF DF
= 0
THEN (R|E)DI (R|E)DI + 2;
ELSE (R|E)DI (R|E)DI – 2; FI;
FI;
ELSE IF (Doubleword comparison)
THEN
temp EAX – SRC;
SetStatusFlags(temp);
IF DF
= 0
THEN (R|E)DI (R|E)DI + 4;
ELSE (R|E)DI (R|E)DI – 4; FI;
FI;
ELSE IF (Quadword comparison using REX.W )
THEN
temp RAX
SRC;
SetStatusFlags(temp);
IF DF
= 0
THEN (R|E)DI (R|E)DI + 8;
ELSE (R|E)DI (R|E)DI – 8;
FI;
FI;
F