3-534
INSTRUCTION SET REFERENCE
POPPop a Value from the Stack (Continued)
Protected Mode Exceptions
#GP(0)
If attempt is made to load SS register with null segment selector.
If the destination operand is 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 is used to access memory and it contains
a null segment selector.
#GP(selector)If segment selector index is outside descriptor table limits.
If the SS register is being loaded and the segment selectors RPL and the
segment descriptors DPL are not equal to the CPL.
If the SS register is being loaded and the segment pointed to is a nonwrit-
able data segment.
If the DS, ES, FS, or GS register is being loaded and the segment pointed
to is not a data or readable code segment.
If the DS, ES, FS, or GS register is being loaded and the segment pointed
to is a data or nonconforming code segment, but both the RPL and the CPL
are greater than the DPL.
#SS(0)
If the current top of stack is not within the stack segment.
If a memory operand effective address is outside the SS segment limit.
#SS(selector)If the SS register is being loaded and the segment pointed to is marked not
present.
#NP
If the DS, ES, FS, or GS register is being loaded and the segment pointed
to is marked not present.
#PF(fault-code)If a page fault occurs.
#AC(0)
If an unaligned memory reference is made while the current privilege level
is 3 and alignment checking is enabled.