logo

Главная Система команд x86 Набор команд MMX PADDSW

Система команд x86

Программирование - Архитектура и система команд микропроцессоров x86
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

PADDSW

Сложение с насыщением знаковых упакованных слов

Влияние команды на флаги и форматы команды:

OF

DF

IF

TF

SF

ZF

AF

PF

CF

 

Код

Команда

Описание

Пример

0F EC /r

PADDSB mm,mm/m64

Сложить с насыщением знаковые упакованные байты из  mm и mm/m64, результат поместить в mm

paddsb mm1,mm2

0F ED /r

PADDSW mm,mm/m64

Сложить с насыщением знаковые упакованные слова из  mm и mm/m64, результат поместить в mm

paddsw mm1,[ecx]

Описание:

Команда PADDS производит сложение знаковых элементов операнда-источника с соответствующими знаковыми элементами операнда-назначения, используя принцип насыщения. Результат операции записывается в операнд-назначение.

Операндом-назначением является MMX-регистр. Операндом-источником может быть как MMX-регистр, так и операнд в памяти.

Команда PADDB производит сложение знаковых байтов. Если значение результата больше или меньше границ диапазона знакового байта, то результат операции насыщается соответственно до 7Fh или до 80h.

Команда PADDW  производит сложение знаковых слов. Если значение результата больше или меньше границ диапазона знакового слова, то результат операции насыщается соответственно до 7FFFh или до 8000h.

Операция:

IF Команда PADDSB

THEN

  DEST(7..0) = SaturateToSignedByte(DEST(7..0) + SRC (7..0));

  DEST(15..8) = SaturateToSignedByte(DEST(15..8) + SRC(15..8));

  DEST(23..16) = SaturateToSignedByte(DEST(23..16)+ SRC(23..16));

  DEST(31..24) = SaturateToSignedByte(DEST(31..24) + SRC(31..24));

  DEST(39..32) = SaturateToSignedByte(DEST(39..32) + SRC(39..32));

  DEST(47..40) = SaturateToSignedByte(DEST(47..40)+ SRC(47..40));

  DEST(55..48) = SaturateToSignedByte(DEST(55..48) + SRC(55..48));

  DEST(63..56) = SaturateToSignedByte(DEST(63..56) + SRC(63..56));

ELSE  (* Команда PADDSW *)

  DEST(15..0) = SaturateToSignedWord(DEST(15..0) + SRC(15..0));

  DEST(31..16) = SaturateToSignedWord(DEST(31..16) + SRC(31..16));

  DEST(47..32) = SaturateToSignedWord(DEST(47..32) + SRC(47..32));

  DEST(63..48) = SaturateToSignedWord(DEST(63..48) + SRC(63..48));

FI;

Особые ситуации защищенного режима:


#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) при невыровненной ссылке в память.

Входит в группу команд: Набор команд MMX




Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru

Top.Mail.Ru       Сервер радиолюбителей России - схемы, документация,

 соревнования, дипломы, программы, форумы и многое другое!   схемы новости электроники