Cложение и вычитание
ММХ-команды сложения и вычитания работают с упакованными байтами и словами со знаком и без знака, а также с упакованными двойными словами со знаком. Они могут использовать как циклическую арифметику, так и арифметику с насыщением.
Входной операнд – регистр MMX или память.
Выходной операнд – регистр MMX.
| Мнемоника | Описание |
| PADDB | Packed ADDition Bytes Сложение упакованных байт. без насыщения (с циклическим переполнением) |
| PADDW | Packed ADDition Words Сложение упакованных слов. без насыщения (с циклическим переполнением). |
| PADDD | Packed ADDition Double words Сложение упакованных двойных слов без насыщения (с циклическим переполнением). |
| PADDSB | Packed ADDition with sighed Saturation Bytes Сложение упакованных байт со знаковым насыщением. |
| PADDSW | Packed ADDition with sighed Saturation Words Сложение упакованных слов со знаковым насыщением. |
| PADDUSB | Packed ADDition with Unsighed Saturation Bytes Сложение упакованных байт с беззнаковым насыщением. |
| PADDUSW | Packed ADDition with Unsighed Saturation Words Сложение упакованных слов с беззнаковым насыщением. Пример; Серым цветом выделено слово результата, в котором произошло насыщение. |
| PSUBB | Packed SUBtraction Bytes Вычитание упакованных байт без насыщения (с циклическим антипереполнением). |
| PSUBW | Packed SUBtraction Words Вычитание упакованных слов без насыщения (с циклическим антипереполнением). |
| SUBD | Packed SUBtraction Double words Вычитание упакованных двойных слов без насыщения (с циклическим антипереполнением). |
| PSUBSB | Packed SUBtraction with signed Saturanion Bytes Вычитание упакованных знаковых байт с насыщением. |
| PSUBSW | Packed SUBtraction with signed Saturanion Words Вычитание упакованных знаковых слов с насыщением. |
| PSUBUSB | Packed SUBtraction with Unsigned Saturanion Bytes Вычитание упакованных беззнаковых байт с насыщением. |
| PSUBUSW | Packed SUBtraction with Unsigned Saturanion Bytes Вычитание упакованных беззнаковых слов с насыщением. |
Умножение
ММХ-команды умножения попарно перемножают 16-разрядные слова операндов, что дает четыре 32-разрядных произведения. Все команды формируют результат по принципу циклической арифметики:
| Мнемоника | Описание |
| PMULHW | Packed Multiplay and return High Words Попарное умножение 4 знаковых слов источника (регистр MMX или память) на 4 знаковых слова приемника (регистр MMX). Результатом операции являются 4 32-разрядных произведения, при этом старшие разряды произведений сохраняются в 16-разрядных словах приемника, а младшие разряды произведений теряются. Пример: |
| PMULLW | Packed Multiplay and return Low Words Попарное умножение 4 знаковых слов источника (регистр MMX или память) на 4 знаковых слова приемника (регистр MMX). Результатом операции являются 4 32-разрядных произведения, при этом младшие разряды произведений сохраняются в 16-разрядных словах приемника, а старшие разряды произведений теряются. |
| PMADDWD | Packed Multiplay and ADD Word to Double word Попарное умножение 4 знаковых слов источника (регистр MMX или память) на 4 знаковых слова приемника (регистр MMX). Два двойных слова результатов умножения младших слов суммируются и записываются в младшее двойное слово операнда назначения. Два двойных слова результатов умножения старших слов суммируются и записываются в старшее двойное слово операнда назначения. Пример: |
Серым цветом выделено слово результата, в котором произошло насыщение.






