Форматы данных и команды их обработки процессоров Pentium III, Pentium IVРефераты >> Программирование и компьютеры >> Форматы данных и команды их обработки процессоров Pentium III, Pentium IV
Синтаксис: 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) — умножение упакованных значений в формате ХММ.
Синтаксис: MULPS rxmmi, rxmm2/m128
Машинный код: 00001111:01011001:mod rxmm1 r/m
Действие: команда умножает четыре пары вещественных чисел в коротком формате. Схема работы команды MULPS показана на следующем рисунке.
Исключения: 1; NE: #O, #U, #I, #P, #D; PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10, 11; #XM; RM: #GP: 13; #NM: 3; #UD: 17, 18; #XM; VM: исключения реального режима; #PF(fault-code).
MULSS приемник, источник
MULSS (MULtiply Scalar Single-precision float-point) — умножение скалярных значений в формате ХММ.
Синтаксис: MULSS rxmm1,rxmm2/m32
Машинный код: 11110011:00001111:01011001:mod rxmm1 r/m
Действие: команда умножает вещественные значения в младших парах операндов в формате ХММ. Операнды источник и приемник находятся в регистре ХММ, кроме того, операнд источник может находиться в 32-битной ячейке памяти. Схема работы команды MULSS показана на следующем рисунке.
Исключения: 1; NE: #O, #U, #I, #P, #D; PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10,11; #XM; RM: #GP: 13; #NM: 3; #UD: 17,18; #ХМ; VM: исключения реального режима; #АС(0); ftPF(fault-code).
ORPS приемник, источник
ORPS (bit-wise logical OR for Packed Single-precision float-point) — поразрядное логическое ИЛИ над каждой парой бит упакованных операндов источник и приемник в формате ХММ.
Синтаксис: ORPS rxmmi, rxmm2/m128
Машинный код: 00001111:01010110:mod rxmm1 r/m
Исключения: 1; РМ: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10; RM: #GP: 13; #NM: 3; #UD: 17; VM: исключения реального режима; #PF(fault-code).
RCPPS приемник, источник
RCPPS (ReCiProcal Packed Single-precision float-point) — вычисление обратных упакованных значений в формате ХММ.
Синтаксис: RCPPS rxmm1, rxmm2/m128