Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
PADDB
Влияние команды на флаги и форматы команды:
0F FC /r |
PADDB mm,mm/m64 |
Сложить упакованные байты из mm и mm/m64, результат поместить в mm |
paddb mm1,mm2 |
0F FD /r |
PADDW mm,mm/m64 |
Сложить упакованные слова из mm и mm/m64, результат поместить в mm |
paddw mm1,[ecx] |
0F FE /r |
PADDD mm,mm/m64 |
Сложить упакованные двойные слова из mm и mm/m64, результат поместить в mm |
paddd mm3,[ebx+2] |
Описание:
Команда PADD производит сложение элементов операнда-источника с соответствующими элементами операнда-назначения, используя принцип циклического переноса. Результат операции записывается в операнд-назначение.
Операндом-назначением является MMX-регистр. Операндом-источником может быть как MMX-регистр, так и операнд в памяти.
Команда PADDВ производит сложение байтов.
Команда PADDW производит сложение слов.
Команда PADDD производит сложение двойных слов.
Операция:
IF Команда PADDB
THEN
DEST(7..0) = DEST(7..0) + SRC(7..0);
DEST(15..8) = DEST(15..8) + SRC(15..8);
DEST(23..16) = DEST(23..16)+ SRC(23..16);
DEST(31..24) = DEST(31..24) + SRC(31..24);
DEST(39..32) = DEST(39..32) + SRC(39..32);
DEST(47..40) = DEST(47..40)+ SRC(47..40);
DEST(55..48) = DEST(55..48) + SRC(55..48);
DEST(63..56) = DEST(63..56) + SRC(63..56);
ELSEIF Команда PADDW THEN
DEST(15..0) = DEST(15..0) + SRC(15..0);
DEST(31..16) = DEST(31..16) + SRC(31..16);
DEST(47..32) = DEST(47..32) + SRC(47..32);
DEST(63..48) = DEST(63..48) + SRC(63..48);
ELSE (* Команда PADDD *)
DEST(31..0) = DEST(31..0) + SRC(31..0);
DEST(63..32) = DEST(63..32) + SRC(63..32);
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) при невыровненной ссылке в память.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru