Арифметика

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). Два двойных слова результатов умножения младших слов суммируются и записываются в младшее двойное слово операнда назначения. Два двойных слова результатов умножения старших слов суммируются и записываются в старшее двойное слово операнда назначения. Пример:

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: