Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
ADDSS
Влияние команды на флаги и форматы команды:
* |
* |
|
* |
* |
* |
F3 0F 58 /r |
ADDSS xmm1, xmm2/m32 |
Сложить младшее из упакованных значений из xmm1 с младшим из xmm2/m32, результат поместить в xmm1 |
Pentium III |
addss xmm2, [ebp] |
Описание:
Команда ADDSS складывает младшее (из четырех упакованных) короткое вещественное значение из операнда-источника с младшим короткими вещественным из операнда-назначения. Результат операции помещается в младшее двойное слово операнда-назначения. Три старших двойных слова из операнда-источника попадают в операнд-назначение без изменений.
Если значения операндов команды являются бесконечностями с противоположными знаками, то генерируется SIMD-исключение недействительная операция (#I). Если исключение замаскировано, то в качестве результата возвращается неопределенность QNaN.
Операция:
DEST[31-0] = DEST[31-0] + SRC/m32[31-0];
DEST[63-32] = DEST[63-32];
DEST[95-64] = DEST[95-64];
DEST[127-96] = DEST[127-96];
Особые ситуации защищенного режима:
#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.
#XM при встрече незамаскированных SIMD-исключений, когда CR4.OSXMMEXCPT = 1.
Особые ситуации режима реальной адресации:
#GP, если любая часть операнда находится вне пространства эффективных адресов от 0 до 0FFFFh.
#NM, если CR0.TS = 1.
#UD, если CR0.EM = 1 или CR4.OSFXSR = 0, а также при встрече незамаскированных SIMD-исключений, когда CR4.OSXMMEXCPT = 0.
#XM при встрече незамаскированных SIMD-исключений, когда CR4.OSXMMEXCPT = 1.
Особые ситуации режима V86:
Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC при невыровненных обращениях к памяти (когда CR0.AM = 1 и EFLAGS.AC = 1).
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru