Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
MOVLPS
Влияние команды на флаги и форматы команды:
|
|
|
|
|
|
0F 12 /r |
MOVLPS xmm1,m64 |
xmm1[0:63] = m64 |
Pentium III |
movlps xmm2,[ebx] |
0F 13 /r |
MOVLPS m64,xmm1 |
m64 = xmm1[0:63] |
Pentium III |
movlps [ecx],xmm1 |
Описание:
Команда MOVLPS копирует 64-битный операнд из памяти в младшие 64 бита SIMD-регистра, либо наоборот, младшие 64-бита из SIMD-регистра копируются в память.
Использование префикса REP/REPNE ( 0xF3h / 0xF2h ) и префикса размера операнда (0x66h) с командой MOVLPS является зарезервированной недокументированной функцией. Различные модели процессоров по разному реагируют на эту ситуацию. Не рекомендуется применять в программах комбинацию команды MOVLPS и указанных префиксов, т.к. в дальнейших моделях процессоров эта функция может быть изменена или исключена.
Операция:
IF (destination = DEST) THEN(* Команда загрузки *)
DEST[63-0] = m64;
DEST[95-64] = DEST[95-64];
DEST[127-96] = DEST[127-96];
ELSE(* Команда сохранения *)
m64 = DEST[63-0];
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.
Особые ситуации режима реальной адресации:
#GP, если любая часть операнда находится вне пространства эффективных адресов от 0 до 0FFFFh.
#NM, если CR0.TS = 1.
#UD, если CR0.EM = 1 или CR4.OSFXSR = 0.
Особые ситуации режима V86:
Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC при невыровненных обращениях к памяти (когда CR0.AM = 1 и EFLAGS.AC = 1).
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru