logo

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

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

PFACC

Упаковать с насыщением короткие вещественные значения

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

OF

DF

IF

TF

SF

ZF

AF

PF

CF

                 

 

Код/Суфф.

Команда

Описание

Пример

0F 0F / AE

PFACC mm,mm/m64

Сложить с насыщением упакованные вещественные из mm, результат поместить в младшее двойное слово mm, аналогично для mm/m64 с размещением результата в старшем двойном слове mm

pfacc mm1,mm3

Описание:

Команда PFACC упаковывает 4 коротких вещественных значения из двух операндов (2 из операнда-источника и 2 из операнда-назначения) в 2 коротких вещественных значения (помещаются в операнд-назначение). Операндом-назначением является MMX-регистр. Операндом-источником может быть как MMX-регистр так и операнд в памяти.

Старший и младший элементы каждого операнда суммируются с насыщением. В младшее двойное слова результата записывается упакованный операнд-назначение, а в старшую часть — упакованный операнд-источник.

Если значение суммы по модулю больше либо равно 2128, то результат упаковки насыщается до наибольшего или наименьшего возможного для формата коротких вещественных значения. Если значение суммы по модулю меньше либо равно 2-127, то результат упаковки насыщается до нуля (знак нуля принимается равным знаку наибольшего по абсолютному значению операнда или, при равенстве, знаку операнда-назначения).

Если один из операндов представлен в неподдерживаемом формате, а другой операнд не нулевой, то результат неопределен. Если один из операндов нулевой, то в результате операции будет получен второй операнд.

Операция:

DEST[31:0] = DEST[31:0] + DEST[63:32];

DEST[63:32] = SRC[31:0] + SRC[63:32];

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

#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       Сервер радиолюбителей России - схемы, документация,

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