Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
PMINUB
Влияние команды на флаги и форматы команды:
|
|
|
|
|
|
0F DA /r |
PMINUB mm1,mm2/m64 |
Найти минимальные для упакованных беззнаковых байтов в mm1 и mm2/m64 , поместить их в mm1 |
Pentium III |
pminub mm6,[ebp] |
Описание:
Команда PMINUB производит сравнение упакованных беззнаковых целых байтов из операнда-источника (MMX-регистр или операнд в памяти) с соответствующими значениями в операнде-назначении (MMX-регистр). В операнд-назначение возвращаются наименьшие из сравниваемых значений.
Операция:
IF DEST[7-0] < SRC/m64[7-0]) THEN
(DEST[7-0] = DEST[7-0];
ELSE
(DEST[7-0] = SRC/m64[7-0];
FI;
IF DEST[15-8] < SRC/m64[15-8]) THEN
(DEST[15-8] = DEST[15-8];
ELSE
(DEST[15-8] = SRC/m64[15-8];
FI;
IF DEST[23-16] < SRC/m64[23-16]) THEN
(DEST[23-16] = DEST[23-16];
ELSE
(DEST[23-16] = SRC/m64[23-16];
FI;
IF DEST[31-24] < SRC/m64[31-24]) THEN
(DEST[31-24] = DEST[31-24];
ELSE
(DEST[31-24] = SRC/m64[31-24];
FI;
IF DEST[39-32] < SRC/m64[39-32]) THEN
(DEST[39-32] = DEST[39-32];
ELSE
(DEST[39-32] = SRC/m64[39-32];
FI;
IF DEST[47-40] < SRC/m64[47-40]) THEN
(DEST[47-40] = DEST[47-40];
ELSE
(DEST[47-40] = SRC/m64[47-40];
FI;
IF DEST[55-48] < SRC/m64[55-48]) THEN
(DEST[55-48] = DEST[55-48];
ELSE
(DEST[55-48] = SRC/m64[55-48];
FI;
IF DEST[63-56] < SRC/m64[63-56]) THEN
(DEST[63-56] = DEST[63-56];
ELSE
(DEST[63-56] = SRC/m64[63-56];
FI;
Особые ситуации защищенного режима:
#GP(0) при некорретном эффективном адресе операнда в памяти в сегментах CS, DS, ES, FS или GS.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#PF(Код ошибки) при страничной ошибке.
#NM, если CR0.TS = 1.
#AC при невыровненных обращениях к памяти (когда CR0.AM = 1, EFLAGS.AC = 1 и CPL = 3).
#UD, если CR0.EM = 1 или CR4.OSFXSR = 0, а также при встрече незамаскированных SIMD-исключений, когда CR4.OSXMMEXCPT = 0.
#MF, если есть отложенные необработанные незамаскированные исключения FPU.
Особые ситуации режима реальной адресации:
#GP, если любая часть операнда находится вне пространства эффективных адресов от 0 до 0FFFFh.
#NM, если CR0.TS = 1.
#UD, если CR0.EM = 1 или CR4.OSFXSR = 0, а также при встрече незамаскированных SIMD-исключений, когда CR4.OSXMMEXCPT = 0.
#MF, если есть отложенные необработанные незамаскированные исключения FPU.
Особые ситуации режима V86:
Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC при невыровненных обращениях к памяти (когда CR0.AM = 1 и EFLAGS.AC = 1).
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru