logo

Главная Система команд x86 Базовая система команд CPU LTR

Система команд x86

Программирование - Архитектура и система команд микропроцессоров x86
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

LTR

Загрузить регистр задачи

Влияние команды на флаги и форматы команды:

OF

DF

IF

TF

SF

ZF

AF

PF

CF

 

 

 

 

 

 

 

 

 

 

Код

Команда

Описание

Проц.

Пример

0F 00 /3

LTR r/m16

Загрузить селектор сегмента TSS из r/m16 в регистр TR

Intel286

ltr di

Описание:

Команда LTR загружает регистр задачи TR селектором из регистра или из ячейки памяти, задаваемой операндом-источником. Загруженный TSS помечается как занятый. Одновременно с загрузкой селектора в видимую часть регистра TR, в его скрытую часть считывается соответствующий дескриптор. Несмотря на то, что значение регистра задачи изменяется этой командой, переключения задачи не происходит.

Команда LTR обычно используется только в системном программном обеспечении. Ее применение возможно только в защищенном режиме при CPL = 0.

Операция:

Загружаемый селектор должен попадать в предел таблицы дескрипторов и указывать на глобальную таблицу дескрипторов, иначе #GP(Селектор);

Проверка дескриптора, задаваемого загружаемым селектором:

  Дескриптор должен описывать свободный TSS, иначе #GP(Селектор);

  Сегмент должен присутствовать, иначе #NP(Селектор);

TSSsegmentDescriptor(busy) = 1; (* Установка флага занятости в дескрипторе *)

TaskRegister(SegmentSelector) = SRC;

TaskRegister(SegmentDescriptor) = TSSSegmentDescriptor;

Особые ситуации защищенного режима:

#GP(0), если текущий уровень привилегий не равен 0, также если используется некорректный эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#GP(Селектор), если операнд-селектор не указывает на корректный дескриптор свободного TSS.
#NP(Селектор), если дескриптор TSS не присутствует.
#PF(Код ошибки) при страничной ошибке.

Особые ситуации режима реальной адресации:

#UD, команда LTR не распознается в реальном режиме.

Особые ситуации режима V86:

#UD, команда LTR не распознается в реальном режиме.

Замечание:

Атрибут размера операнда не влияет на команду LTR.


Входит в группу команд: Базовая система команд CPU




Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru

Top.Mail.Ru       Сервер радиолюбителей России - схемы, документация,

 соревнования, дипломы, программы, форумы и многое другое!   схемы новости электроники