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