logo

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

Система команд 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

ARPL

Коррекция запрашиваемого уровня привилегий

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

OF

DF

IF

TF

SF

ZF

AF

PF

CF

         

*

     

 

Код

Команда

Описание

Проц.

Пример

63 /r

ARPL r/m16,r16

Корректирует RPL селектора в r/m16 по RPL селектора в r16

Intel286

arpl selector,dx

Описание:

У команды ARPL два операнда. Первый операнд — это 16-битная переменная в памяти или двухбайтный регистр, который содержит значение селектора. Второй операнд — двухбайтный регистр. Если поле RPL (запрашиваемый уровень привилегий — младшие два бита) первого операнда меньше, чем поле RPL второго операнда, то устанавливается флаг ZF, а поле RPL первого операнда увеличивается до значения поля RPL второго операнда. В противном случае сбрасывается флаг ZF, и первый операнд не изменяется.

Команда ARPL используется в системном программном обеспечении. Эта команда позволяет убедиться в том, что селектор, переданный процедуре, не требует более высокого уровня привилегий, чем позволено вызывающей процедуре. Обычно, вторым операндом команды ARPL является регистр, содержащий значение селектора CS вызывающей процедуры.

Операция:

IF ( (RPL биты 0..1 в DEST) < (RPL биты 0..1 в SRC) )

   THEN

      ZF = 1;

      (RPL биты 0..1 в DEST) = (RPL биты 0..1 в SRC);

   ELSE

      ZF = 0;

FI;

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

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

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

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

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

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


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




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

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

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