3-362
INSTRUCTION SET REFERENCE
LLDTLoad Local Descriptor Table Register
Description
This instruction loads the source operand into the segment selector field of the local descriptor
table register (LDTR). The source operand (a general-purpose register or a memory location)
contains a segment selector that points to a local descriptor table (LDT). After the segment
selector is loaded in the LDTR, the processor uses to segment selector to locate the segment
descriptor for the LDT in the global descriptor table (GDT). It then loads the segment limit and
base address for the LDT from the segment descriptor into the LDTR. The segment registers DS,
ES, SS, FS, GS, and CS are not affected by this instruction, nor is the LDTR field in the task
state segment (TSS) for the current task.
If the source operand is 0, the LDTR is marked invalid and all references to descriptors in the
LDT (except by the LAR, VERR, VERW or LSL instructions) cause a general protection excep-
tion (#GP).
The operand-size attribute has no effect on this instruction.
The LLDT instruction is provided for use in operating-system software; it should not be used in
application programs. Also, this instruction can only be executed in protected mode.
Operation
IF SRC(Offset) > descriptor table limit THEN #GP(segment selector); FI;
Read segment descriptor;
IF SegmentDescriptor(Type)
?
LDT THEN #GP(segment selector); FI;
IF segment descriptor is not present THEN #NP(segment selector);
LDTR(SegmentSelector)
<
SRC;
LDTR(SegmentDescriptor)
<
GDTSegmentDescriptor;
Flags Affected
None.
Opcode
Instruction
Description
0F 00 /2
LLDT r/m16
Load segment selector r/m16 into LDTR