<<<    Index    >>>
3-705
INSTRUCTION SET REFERENCE
VERR/VERW—Verify a Segment for Reading or Writing (Continued)
Operation
IF SRC(Offset) > (GDTR(Limit) OR (LDTR(Limit))
THEN
ZF 
<
 0
Read segment descriptor;
IF SegmentDescriptor(DescriptorType) = 0 (* system segment *)
OR (SegmentDescriptor(Type) 
?
 conforming code segment) 
AND (CPL > DPL) OR (RPL > DPL)
THEN
ZF 
<
 0
ELSE
IF ((Instruction = VERR) AND (segment = readable))
OR ((Instruction = VERW) AND (segment = writable))
THEN 
ZF 
<
 1;
FI;
FI;
Flags Affected
The ZF flag is set to 1 if the segment is accessible and readable (VERR) or writable (VERW);
otherwise, it is cleared to 0.
Protected Mode Exceptions
The only exceptions generated for these instructions are those related to illegal addressing of the
source operand.
#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 an unaligned memory reference is
made while the current privilege level is 3.
<<<    Index    >>>