logo

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

Система команд 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

LDMXCSR

Загрузить регистр управления/статуса SIMD

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

I

D

Z

O

U

P

 

 

 

 

 

 

 

Код

Команда

Описание

Проц.

Пример

0F AE /2

LDMXCSR m32

Загрузить m32 в регистр MXCSR

Pentium III

ldmxcsr [ecx]

Описание:

Команда LDMXCSR загружает в регистр MXCSR двойное слово из операнда в памяти.

Управляющий регистр MXCSR (SIMD Floating-Point Control/Status Register) предназначен для маскирования/демаскирования SIMD-исключений, управления режимом округления, включения режима "сдвига к нулю" (Flush to Zero). Доступ к регистру MXCSR осуществляется командами LDMXCSR, FXRSTOR (загрузка) и STMXCSR, FXSAVE (сохранение).

Если при выполнении команды обработки упакованных данных какое-либо исключение встречается несколько раз, соответствующий флаг устанавливается однократно (т.е. определить количество срабатываний не возможно). Если в регистр MXCSR записывается значение, в котором бит маски исключения не установлен, а соответствующий флаг исключения установлен, то генерации прерывания не происходит до тех пор, пока соответствующее исключение не встретится при выполнении SIMD-программы. После сброса флаги SIMD-исключений очищены.

После сброса все биты маскирования SIMD-исключений установлены. В случае инициализации каких-либо SIMD-исключений необходимо убедиться, что в обработчик исключений распознает и корректно обрабатывает эти исключения.

Все зарезервированные биты регистра MXCSR сброшены в 0, попытка записи 1 в эти биты приводит к генерации ошибки общей защиты (#GP).

Использование префикса REP/REPNE (F3h/F2h) и префикса размера операнда (66h) с командой LDMXCSR является зарезервированной недокументированной функцией. Различные модели процессоров по разному реагируют на эту ситуацию. Не рекомендуется применять в программах комбинацию команды LDMXCSR и указанных префиксов, т.к. в дальнейших моделях процессоров эта функция может быть изменена или исключена.

Операция:

MXCSR = m32;

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

#GP(0) при некорретном эффективном адресе операнда в памяти в сегментах CS, DS, ES, FS или GS, а также при попытке загрузки не нулевых значений в зарезервированные биты регистра MXCSR.
#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, , а также при попытке загрузки не нулевых значений в зарезервированные биты регистра MXCSR.
#NM, если CR0.TS = 1.
#UD, если CR0.EM = 1 или CR4.OSFXSR = 0.

Особые ситуации режима V86:

Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC при невыровненных обращениях к памяти (когда CR0.AM = 1 и EFLAGS.AC = 1).


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




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

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

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