Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
SLDT
Влияние команды на флаги и форматы команды:
|
|
|
|
|
|
|
|
|
OF 00 /0 |
SLDT r/m16 |
Сохранить LDTR в r/m16 |
Intel286 |
sldt ax |
OF 00 /0 |
SLDT r/m32 |
Сохранить LDTR в r/m32 |
Intel386 |
sldt [ecx] |
Описание:
Команда SLDT сохраняет содержимое регистра локальной таблицы дескрипторов LDTR в регистре общего назначения или ячейке памяти. Этот регистр содержит селектор, указывающий на глобальную таблицу дескрипторов GDT, и в своей скрытой части соответствующий дескриптор локальной таблицы. дескрипторв LDT для текущей задачи.
При 32-битном размере операнда команда SLDT помещает 16-битное значение селектора во младшие 16 бит регистра-назначения. При этом старшие 16 бит регистра-назначения неопределены для процессоров Intel386, Intel486 и Pentium, а для Pentium Pro, Pentium II, … заполняются нулями. Если операнд-назначение команды — ячейка памяти, то селектор всегда записывается в память как 16-битная величина, независимо от атрибута размера операнда.
Команда SLDT доступна только на нулевом уровне привилегий в защищенном режиме, она используется только в системном программном обеспечении и не используется в прикладных программах.
Операция:
r/m16 = LDTR;
Особые ситуации защищенного режима:
#GP(0), если операнд-назначение находится в сегменте, запрещенном для записи, если используется некорректный эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память при текущем уровне привилегий равном 3.
Особые ситуации режима реальной адресации:
#UD при попытке исполнения команды.
Особые ситуации режима V86:
#UD при попытке исполнения команды.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru