Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
PMULHUW
Влияние команды на флаги и форматы команды:
|
|
|
|
|
|
0F E4 /r |
PMULHUW mm1,mm2/m64 |
Перемножить упакованные беззнаковые слова из mm1 и соответствующие значения из mm2/m64, результат поместить в mm1 |
Pentium III |
pmulhuw mm2,[ecx] |
Описание:
Команда PMULHUW умножает 4 беззнаковых слова операнда-назначения на 4 соответствующих беззнаковых слова операнда-источника. Старшие 16 бит 32-разрядного результата записываются в соответствующие слова операнда-назначения.
Операндом-назначением является MMX-регистр. Операндом-источником может быть как MMX-регистр, так и операнд в памяти.
Операция:
DEST[15-0] = (DEST[15-0] * SRC/m64[15-0])[31-16];
DEST[31-16] = (DEST[31-16] * SRC/m64[31-16])[31-16];
DEST[47-32] = (DEST[47-32] * SRC/m64[47-32])[31-16];
DEST[63-48] = (DEST[63-48] * SRC/m64[63-48])[31-16];
Особые ситуации защищенного режима:
#GP(0) при некорретном эффективном адресе операнда в памяти в сегментах CS, DS, ES, FS или GS.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#PF(Код ошибки) при страничной ошибке.
#NM, если CR0.TS = 1.
#AC при невыровненных обращениях к памяти (когда CR0.AM = 1, EFLAGS.AC = 1 и CPL = 3).
#UD, если CR0.EM = 1.
#MF, если есть отложенные необработанные незамаскированные исключения FPU.
Особые ситуации режима реальной адресации:
#GP, если любая часть операнда находится вне пространства эффективных адресов от 0 до 0FFFFh.
#NM, если CR0.TS = 1.
#UD, если CR0.EM = 1.
#MF, если есть отложенные необработанные незамаскированные исключения FPU.
Особые ситуации режима V86:
Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC при невыровненных обращениях к памяти (когда CR0.AM = 1 и EFLAGS.AC = 1).
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru