LGDT/LIDT-加载全局/中断描述符表寄存器

时间:2023-03-09 00:16:42
LGDT/LIDT-加载全局/中断描述符表寄存器

  将源操作数中的值加载到全局描述符表寄存器 (GDTR) 或中断描述符表寄存器 (IDTR)。源操作数指定 6 字节内存位置,它包含全局描述符表 (GDT) 或中断描述符表 (IDT) 的基址(线性地址)与限制(表格大小,以字节计)。如果操作数大小属性是 32 位,则将 16 位限制(6 字节数据操作数的 2 个低位字节)与 32 位基址(数据操作数的 4 个高位字节)加载到寄存器。如果操作数大小属性是 16 位,则加载 16 位限制(2 个低位字节)与 24 位基址(第三、四、五字节)。这里,不使用操作数的高位字节,GDTR 或 IDTR 中基址的高位字节用零填充。

  LGDT 与 LIDT 指令仅用在操作系统软件中;它们不用在应用程序中。在保护模式中,它们是仅有的能够直接加载线性地址(即,不是段相对地址)与限制的指令。它们通常在实地 址模式中执行,以便处理器在切换到保护模式之前进行初始化。