MEM48 -> GDTR MEM48 -> IDTR
The GDTR and IDTR are loaded with a linear base address and limit value from a six-byte operand in memory by the lgdt/lidt instructions. For a 16-bit operand:
Load the register with a 16-bit limit and a 24-bit base.
The six-byte data operand high-order eight bits are not used.
For a 32-bit operand:
Load the register with a 16-bit limit and a 32-bit base.
The six-byte data operand high-order eight bits are used as the high-order base address bits.
All 48-bits of the six-byte data operand are always stored into by the sgdt/sidt instructions. For a 16-bit and a 32-bit operand, the upper eight-bits are written with the high-order eight address bits. lgdt or lidt, when used with a 16-bit operand to load the register stored by sgdt or sidt, stores the upper eight-bits as zeros.
lgdt and lidt are not used in application programs; they are used in operation system. lgdt and lidt are the only instructions that load a linear address directly in 80386 Protected Mode.
Load the Global/Interrupt Descriptor Table Register from memory address 0x55555555:
lgdt 0x55555555 lidt 0x55555555