Intel 64 and IA-32 Architectures Software Developers Manual Volume 2A, Instruction Set Reference, A-M

Vol. 2 3-515
INSTRUCTION SET REFERENCE, A-M
Operation
IF Offset(SRC) > descriptor table limit
THEN
ZF = 0;
ELSE
IF SegmentDescriptor(Type) conforming code segment
and (CPL > DPL) or (RPL > DPL)
or segment type is not valid for instruction
THEN
ZF 0
ELSE
TEMP Read segment descriptor ;
IF OperandSize
= 64
THEN
DEST (ACCESSRIGHTWORD(TEMP) AND 00000000_00FxFF00H);
ELSE (* OperandSize
= 32*)
DEST (ACCESSRIGHTWORD(TEMP) AND 00FxFF00H);
ELSE (* OperandSize
= 16 *)
DEST (ACCESSRIGHTWORD(TEMP) AND FF00H);
FI;
FI;
FI:
Flags Affected
The ZF flag is set to 1 if the access rights are loaded successfully; otherwise, it is set
to 0.
Protected Mode Exceptions
#GP(0) 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 is used to access memory and it
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 the memory operand effec-
tive address is unaligned while the current privilege level is 3.