logo

Воскресенье 11 Декабрь 2016 (GMT+0300)

Главная Система команд x86 Набор команд 3DNow! PFACC
Система команд 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

Операция:

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

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

Описание:

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

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

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

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

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

#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!



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

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

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