LIDT
(Load Interrupt Descriptor Table)
Загрузка регистра глобальной дескрипторной таблицы
Схема команды: | lidt источник |
Назначение: загрузка регистра idtr значениями базового адреса и размера глобальной дескрипторной таблицы IDT.
Алгоритм работы:
Команда lidt аналогична lgdt, но для дескрипторной таблицы прерываний IDT (см. урок 17).
Состояние флагов после выполнения команды:
выполнение команды не влияет на флаги |
Применение:
Команду lidt применяют при подготовке к переходу в защищенный режим для загрузки системного регистра idtr. В качестве операнда в команде указывается адрес области в формате 16+32. Младшее слово области — размер IDT, двойное слово по старшему адресу — значение базового адреса начала этой таблицы. Два данных компонента должны быть сформированы в памяти заранее.
.386 ;структура для описания псевдодескрипторов gdtr и idtr point STRUC lim dw 0 adr dd 0 ENDS .data point_idt point
.code ... ;загружаем idtr xor eax,eax mov ax,IDT_SEG shl eax,4 mov point_idt.adr,eax lidt point_idt ... |
См. также: урок 17 и команду