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