logo

Главная Система команд x86 Набор команд 3DNow! PF2ID

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

PF2ID

Пребразовать упакованные короткие вещественные значения в упакованные целые двойные слова

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

OF

DF

IF

TF

SF

ZF

AF

PF

CF

                 

 

Код/Суфф.

Команда

Описание

Пример

0F 0F / 1D

PF2ID mm,mm/m64

Преобразовать упакованные вещественные из mm/m64 в упакованные знаковые целые двойные слова и загрузить в mm

pf2id mm1,[ebx]

Описание:

Команда PF2ID преобразует операнд-источник, который содержит два упакованных коротких вещественных значения, к формату упакованных 32-битных целых чисел со знаком и помещает результат в операнд-назначение.

Если величина преобразуемого числа больше или меньше границ диапазона знакового двойного слова, то результат операции насыщается соответственно до 0x7FFF_FFFFh или до 0x8000_0000h. При преобразованиях используется округление к нулю (т.е. дробная часть вещественного числа просто отбрасывается).

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

Результат операции неопределен, если операнд-источник представлен в неподдерживаемом формате.

Операция:

IF (SRC[31:0] >= 231)

THEN DEST[31:0] = 7FFF_FFFFh;

ELSEIF (SRC[31:0] <= –231) THEN

  DEST[31:0] = 8000_0000h;

ELSE

  DEST[31:0] = int(SRC[31:0]);

FI;

IF (SRC[63:32] >= 231)

THEN DEST[63:32] = 7FFF_FFFFh;

ELSEIF (SRC[63:32] <= –231) THEN

  DEST[63:32] = 8000_0000h;

ELSE

  DEST[63:32] = int(SRC[63:32]);

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) при невыровненной ссылке в память.


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




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

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

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