Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
PFMUL
Влияние команды на флаги и форматы команды:
Код/Суфф. |
|||
0F 0F / B4 |
PFMUL mm,mm/m64 |
Умножить с насыщением упакованные вещественные из mm с mm/m64, результат поместить в mm |
pfmul mm2,[edi] |
Описание:
Команда PFMUL производит перемножение коротких вещественных элементов операнда-источника и соответствующих элементов операнда-назначения. Результат операции записывается в операнд-назначение.
Операндом-назначением является MMX-регистр. Операндом-источником может быть как MMX-регистр, так и операнд в памяти.
При вычислениях используется арифметика с насыщением. В младшее двойное слово результата записывается произведение младших коротких вещественных элементов, а в старшую часть — произведение старших коротких вещественных элементов.
Если значение произведения по модулю больше либо равно 2128, то результат насыщается до наибольшего или наименьшего возможного для формата коротких вещественных значения. Если значение суммы по модулю меньше либо равно 2-127, то результат насыщается до нуля (знак нуля принимается равным ИСКЛЮЧАЮЩЕМУ ИЛИ знаков операндов).
Если один из операндов представлен в неподдерживаемом формате, а другой операнд не нулевой, то результат неопределен.
Операция:
DEST[31:0] = DEST[31:0] * SRC[31:0];
DEST[63:32] = DEST[63:32] * 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) при невыровненной ссылке в память.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru