logo

Главная Система команд x86 Набор команд MMX PSRLD

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

PSRLD

Логический сдвиг вправо упакованных двойных слов

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

OF

DF

IF

TF

SF

ZF

AF

PF

CF

 

Код

Команда

Описание

Пример

0F D1 /r

PSRLW mm,mm/m64

Логический сдвиг вправо упакованных слов в mm на mm/m64 бит

psrlw mm3,mm2

0F 71 /2 ib

PSRLW mm,imm8

Логический сдвиг вправо упакованных слов в mm на imm8 бит

psrlw mm2,5

0F D2 /r

PSRLD mm,mm/m64

Логический сдвиг вправо упакованных двойных слов в mm на mm/m64 бит

psrld mm1,[ecx]

0F 72 /2 ib

PSRLD mm,imm8

Логический сдвиг вправо упакованных двойных слов в mm на imm8 бит

psrld mm2,10

0F D3 /r

PSRLQ mm,mm/m64

Логический сдвиг вправо учетверенного слова в mm на mm/m64 бит

psrlq mm1,[ecx]

0F 73 /2 ib

PSRLQ mm,imm8

Логический сдвиг вправо учетверенного слова в mm на imm8 бит

psrlq mm2,20

Описание:

Команда PSRL производит сдвиг вправо битов первого операнда на число позиций, указанное во втором операнде. Результат сдвига записывается в операнд-назначение. Освобождающиеся старшие биты каждого элемента заполняются нулями. Если значение второго операнда больше 15 (для слов), 31 (для двойных слов) или 63 (для учетверенного слова), то результат обращается в 0.

Операндом-назначением является MMX-регистр. Операндом-источником может быть MMX-регистр, 64-разрядный операнд в памяти или непосредственное 8-разрядное значение.

Команда PSRLW сдвигает каждое из четырех слов операнда-назначения вправо на число позиций, указанное в операнде-источнике. Младшие биты каждого слова заполняются нулями.

Команда PSRLD сдвигает каждое из двух двойных слов операнда-назначения вправо на число позиций, указанное в операнде-источнике. Младшие биты каждого двойного слова заполняются нулями.

Команда PSRLQ сдвигает учетверенное слово операнда-назначения вправо на число позиций, указанное в операнде-источнике. Младшие биты заполняются нулями.

Операция:

IF Команда PSRLW

THEN

  DEST(15..0) = DEST(15..0) >> COUNT;

  DEST(31..16) = DEST(31..16) >> COUNT;

  DEST(47..32) = DEST(47..32) >> COUNT;

  DEST(63..48) = DEST(63..48) >> COUNT;

ELSE IF Команда PSRLD THEN

  DEST(31..0) = DEST(31..0) >> COUNT;

  DEST(63..32) = DEST(63..32) >> COUNT;

ELSE (* Команда PSRLQ *)

  DEST = DEST >> COUNT;

FI;

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


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

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


#GP, если любая часть операнда находится вне пространства эффективных адресов в сегментах CS, DS, ES, FS или GS.
#UD, если CRO.EM=1.
#NM, если CRO.TS=1.
#MF, если есть отложенные необработанные незамаскированные исключения FPU.

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


Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память.

Входит в группу команд: Набор команд MMX




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

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

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