Команда pmaddwd (циклическая арифметика)
Команда pmaddwd попарно перемножает 16-разрядные слова со знаком
входного и выходного операндов.
Это дает четыре 32-разрядных произведения.
Затем первое произведение складывается со вторым, а третье с четвертым.
Суммы записываются в 32-разрядные слова выходного операнда.
Если все слова на входе равны 8000h, результатом
будет 80000000h
(это единственный случай, когда перемножение отрицательных чисел дает
отрицательный результат).
Входной операнд может находиться в MMX-регистре или в памяти;
выходной операнд должен находиться в MMX-регистре.
Возврат к началу темы
Команда pmulhw (циклическая арифметика)
Команда pmulhw попарно перемножает 16-разрядные слова со знаком
входного и выходного операндов, что дает четыре 32-разрядных произведения.
Старшие разряды произведений записываются в 16-разрядные слова
выходного операнда. Младшие разряды произведений теряются.
Входной операнд может находиться в MMX-регистре или в памяти;
выходной операнд должен находиться в MMX-регистре.
Команда pmullw (циклическая арифметика)
Команда pmullw попарно перемножает 16-разрядные слова со знаком
входного и выходного операндов, что дает четыре 32-разрядных произведения.
Младшие разряды произведений записываются в 16-разрядные слова
выходного операнда. Старшие разряды произведений теряются.
Входной операнд может находиться в MMX-регистре или в памяти;
выходной операнд должен находиться в MMX-регистре.