Смекни!
smekni.com

Форматы данных и команды их обработки процессоров Pentium III, Pentium IV (стр. 9 из 18)

Исключения: 1; NE: #O, #U, #I, #Z, #P, #D; РМ: #GP(0): 2,37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10-13; #XM; RM: #GP: 13; #UD: 17-20; #XM; VM: исключения реального режима; #PF(fault-code).

DIVSS приемник, источник

DIVSS (DIVide Scalar Single-precision float-point) — скалярное деление значений в формате ХММ согласно следующей схеме.

Синтаксис: DIVSS rxmm1,rxmm2/m32

Машинный код: 11110011:00001111:01011110:mod rxmm1 r/m

Исключения: 1; NE: #O, #U, #I, #Z, #P, #D; PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10-13; #XM; RM: #GP: 13; #NM: 3; #UD: 17-20; #XM; VM: исключения реального режима; #АС(0); #PF(fault-code).

FXRSTOR источник

FXRSTOR (ReSTORe Fp and mmX state and streaming simd extension state) — восстановление без проверки наличия незамаскированных исключений с плавающей точкой состояния сопроцессора, целочисленного и потокового MMX-расширений из 512-байтной области памяти (см. рисунок ниже).

Синтаксис: FXRSTOR m512

Машинный код: 00001111:10101110:mod 001 m512

Исключения: 2; PM: #AC: 4; #GP(0): 38; #NM: 3; #SS(0): 13; #UD: 10; RM: #GP: 13; #NM: 3; #UD: 17; VM: исключения реального режима; #АС: 5; #PF(fault-code).

FXSAVE приемник

FXSAVE (SAVE Fp and mmX state and streaming simd extension state) — сохранение состояния сопроцессора, целочисленного и потокового MMX-расширений в 512-байтной области памяти (см. рисунок в описании команды FXRSTOR).

Синтаксис: FXSAVE m512

Машинный код:00001111:10101110:тос1000 m512

Исключения: 2; NE: #I, #Р; PM: #AC(0); #GP(0): 37; #NM: 3; #SS(0): 13; #UD: 10; RM: #GP: 13; #NM: 3; #UD: 17; VM: исключения реального режима; #АС(0); #PF(fault-code).

LDMXCSR источник

LDMXCSR (LoaD streaming simd extension control/status register MXCSR) — загрузка регистра состояния/управления mxcsr из 32-битной ячейки памяти.

Синтаксис: LDMXCSR m32

Машинный код: 00001111:10101110:mod 010 m32

Замечание: по умолчанию регистр MXCSR загружается значением 1f80h.

Исключения: 1; PM: #AC(0); #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10,12,13; RM: #GP: 13; #NM: 3; #UD: 17,19,20; VM: исключения реального режима; #АС(0); #PF(fault-code).

MAXPS приемник, источник

MAXPS (return MAXimum Packed Single-precision float-point) – возврат максимального из упакованных значений в формате ХММ.

Синтаксис: MAXPS rxmm1, rxmm2/m128

Машинный код: 00001111:01011111 :mod rxmm1 r/m

Действие: команда извлекает максимальные значения в каждой из четырех пар

вещественных чисел в коротком формате. При этом происходит сравнение значений

соответствующих элементов источника и приемника, по результатам которого

выполняются действия:

• если элемент приемника или элемент источника является сигнализирующим не-числом — sNAN, то в элемент приемника помещается значение источника;

• иначе, если элемент источника больше элемента приемника, то в элемент приемника помещается элемент источника.

В остальных случаях значения источника и приемника не изменяются.

Исключения: 1,3; NE: #I, ftD; PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10-13; ftXM; RM: #GP: 13; #NM: 3; #UD: 17-20; UXM; VM: исключения реального режима; #PF(fault-code).

MAXSS приемник, источник

MAXSS (return MAXimum Scalar Single-precision float-point) — скалярный возврат максимального значения в формате ХММ.

Синтаксис: MAXSS rxmm1,rxmm2/m32

Машинный код: 11110011:00001111:01011111:mod rxmm1 r/m

Действие: команда извлекает максимальное из двух вещественных чисел в коротком формате. При этом происходит сравнение значений младшей пары элементов источника и приемника, по результатам которого выполняются действия, аналогичные рассмотренным в описании команды MAXPS. Старшие три элемента источника и приемника не изменяются. Исключения: 1, 3; NE: #I, #D; PM: #AC(0); #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10-13; #XM; RM: #GP: 13; #NM: 3; #VD: 17-20; #XM; VM: исключения реального режима; #АС(0); #PF(fault-code).

MINPS приемник, источник

MINPS (return MINimum Packed Single-precision float-point) — возврат минимального упакованного значения в формате ХММ.

Синтаксис: MINPS rxmm1,rxmm2/m128

Машинный код: 00001111:01011101:mod rxmm1 r/m

Действие: команда извлекает минимальные значения в каждой из четырех пар вещественных чисел в коротком формате. При этом происходит сравнение значений соответствующих элементов источника и приемника, по результатам которого выполняются действия, аналогичные рассмотренным в описании команды MAXPS.

Исключения: 1; NE: #I, #D; PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10-13; #XM; RM: #GP: 13; #NM: 3; #UD: 17-20; #XM; VM: исключения реального режима; #PF(fault-code).

MINSS приемник, источник

MINSS (return MINimum Scalar Single-precision float-point) — скалярный возврат минимального значения в формате ХММ.

Синтаксис: MINSS rxmm1,rxmm2/m32

Машинный код: 11110011:00001111:01011101:mod rxmm1 r/m

Действие: команда извлекает минимальное из двух вещественных чисел в коротком формате. При этом происходит сравнение значений младшей пары элементов источника и приемника, по результатам которого выполняются действия, аналогичные рассмотренным в описании команды MAXPS. Старшие три элемента источника и приемника не изменяются.

Исключения: NE: #I, #D; PM: #AC(0); #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10-13; #XM; RM: #GP: 13; #NM: 3; #UD: 17-20; #ХМ; VM: исключения реального режима; #АС(0); #PF(fault-code).

MOVAPS приемник, источник

MOVAPS (MOVe Aligned four Packed Single-precision float-point) — перемещение выровненных 128 бит источника в соответствующие биты приемника.

Исключения: 1; PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10-13; RM: #GP: 13; #NM: 3; #UD: 17, 19, 20; VM: исключения реального режима;

#PF(fault-code).

MOVHLPS приемник, источник

MOVHLPS (MOVe High to Low Packed Single-precision float-point) — копирование содержимого старшей половины регистра ХММ (источника) в младшую половину другого регистра ХММ (приемника).

Синтаксис: MOVHLPS rxmm1, rxmm2

Машинный код: 00001111:00010010:11 rxmm1,rxmm2

Исключения: PM: #NM: 3; #UD: 10, 12, 13; RM: #NM: 3; #UD: 17, 19, 20; VM: исключения реального режима.

MOVHPS приемник, источник

MOVHPS (MOVe High Packed Single-precision float-point) — перемещение верхних упакованных значений в формате ХММ из источника в приемник.

Действие:

• если источник — 64-битный операнд в памяти, то команда MOVHPS перемещает его содержимое в старшую половину приемника, представляющего собой регистр ХММ;

• если источник — регистр ХММ, то команда MOVHPS перемещает содержимое его старшей половины в приемник, который представляет собой 64-битный операнд в памяти.

Исключения: РМ: #АС(0); #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD:10,12,13; RM: #GP: 13; #NM: 3; #UD: 17,19,20; VM: исключения реального режима; #AC(0); #PF(fault-code).

MOVLHPS приемник, источник

MOVLHPS (MOVe Low to High Packed Single-precision float-point) — перемещение нижних упакованных значений в формате ХММ в верхние.

Синтаксис: MOVLHPS rxmm1, rxmm2

Машинный код: 00001111:00010110:11 rxmm1,rxmm2

Действие: команда копирует содержимое младшей половины регистра ХММ (источника) в старшую половину другого регистра ХММ (приемника). После операции изменяется только содержимое старшей половины приемника.

Исключения: РМ: #NM: 3; #UD: 10, 12, 13; RM: #NM: 3; #UD: 17, 19, 20; VM: исключения реального режима.

MOVLPS приемник, источник

MOVLPS (MOVe Unaligned Low Packed Single-precision float-point) — перемещение невыровненных нижних упакованных значений в формате ХММ.

Действие: команда копирует содержимое младшей половины регистра ХММ в 64-битную ячейку памяти или из нее:

• если источник — 64-битный операнд в памяти, то его содержимое перемещается в младшую половину приемника, представляющего собой регистр ХММ;

• если источник — регистр ХММ, то содержимое его младшей половины перемещается в приемник, который представляет собой 64-битный операнд в памяти.

Исключения: РМ: #АС(0); #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD:10,12,13; RM: #GP: 13; #NM: 3; ttVD: 17,19,20; VM: исключения реального режима; #AC(0); ftPF(fault-code).

MOVMSKPS приемник, источник

MOVMSKPS (MOVe sign MaSK Packed Single-precision float-point to integer) -перемещение знаковой маски в целочисленный регистр.

Синтаксис: MOVMSKPS r32, rxmm

Машинный код: 00001111:01010000:11 r32 rxmm

Действие: команда формирует маску из знаковых разрядов четырех чисел с плавающей точкой в коротком формате, упакованных в регистр ХММ (источник). После операции содержимое всего 32-битного регистра (приемника) изменяется следующим образом: в его младшую тетраду заносится знаковая маска, остальные разряды регистра обнуляются.

Исключения: РМ: #MF; #NM: 3; #UD: 10,12,13; RM: #NM: 3; #UD: 17,19,20; VM:

исключения реального режима.

MOVNTPS приемник, источник

MOVNTPS (MOVe Non Temporal aligned four Packed Single float-point) — запись в память 128 бит из регистра ХММ, минуя кэш.

Синтаксис: MOVNTPS m128,rxmm

Машинный код: 00001111:00101011:mod rxmm r/m

Исключения: 1; РМ: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10,12, 13; RM: #GP: 13; #NM: 3; #UD: 17, 19, 20; VM: исключения реального режима; #PF(fault-code).

MOVSS приемник, источник

MOVSS (MOVe Scalar Single-precision float-point) — перемещение скалярных значений в формате ХММ.

Действие: команда копирует младшие 32 бита источника в младшие 32 бита приемника. Если используется операнд в памяти, то в команде указывается адрес, соответствующий адресу младшего байта данных в памяти. Если в качестве источника используется операнд в памяти, то эти 32 бита копируются в младшее двойное слово 128-битного приемника — регистра ХММ, остальные 96 бит этого регистра устанавливаются в 0.

Исключения: PM: #AC(0); #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD:10,12,13; RM: #GP: 13; #NM: 3; #UD: 17,19,20; VM: исключения реального режима; #АС(0); #PF(fault-code).

MOVUPS приемник, источник

MOVUPS (MOVe Unaligned four PackedSingle-precision float-point) — перемещение невыровненных упакованных значений в формате ХММ.

Действие: переместить 128 бит источника в соответствующие биты приемника.

Исключения: PM: #АС(0); #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10; RM: #GP: 13; #NM: 3; #UD: 17; VM: исключения реального режима; #АС(0)-#PF(fault-code).

MULPS приемник, источник

MULPS (MULtiply Packed Single-precision float-point) — умножение упакованных значений в формате ХММ.