Данные передаются между:
· регистрами MMX,
· регистром MMX и регистром основного процессора,
· регистром MMX и памятью.
Если размер приемника меньше размера источника, то лишние разряды обнуляются.
Мнемоника | Описание |
MOVAPS | MOVe Aligned four Packed Single precision float point Пересылка выровненных по 16-байтовой границе 128-разрядных операндов. В качестве входного операнда могут выступать ХММ-регистр или 128-разрядная ячейка памяти, выходным операндом может служить один из ХММ-регистров. Если адрес ячейки памяти не будет выровнен по 16-байтовой границе, то произойдет исключение общей защиты. |
MOVUPS | MOVe Unaligned four Packed Single precision float point Пересылка невыровненных данных; в качестве входного операнда могут выступать ХММ-регистр или 128-разрядная ячейка памяти, выходным операндом может служить один из ХММ-регистров. Команда не требует выравнивания по 16-байтовой границе.. |
MOVHPS | MOVe unaligned High Packed Single precision float point Пересылка невыровненных 64 бит из входного операнда в выходной. Один из операндов обязательно должен быть ХММ-регистром, в качестве второго может выступать 64-разрядная ячейка памяти. Пересылаются только старшие 64 бит входных операндов. Младшие 64 бит обоих операндов не изменяются. Если данные передаются из ХММ-регистра, то пересылке подлежат только старшие 64 бит. Команда не требует выравнивания по 16-байтовой границе адреса ячейки памяти. Пример: |
MOVLHPS | MOVe Low to High Packed Single precision float point Пересылка невыровненных 64 бит из входного операнда в выходной. Оба операнда должны находиться в ХММ-регистрах. Пересылаются только старшие 64 бит входных операндов. В результате выполнения этой команды изменяются младшие 64 бит приемника. Пример: |
MOVHLPS | MOVe High to Low Packed Single precision float point Пересылка невыровненных 64 бит из входного операнда в выходной. Оба операнда должны находиться в ХММ-регистрах. Пересылаются только старшие 64 бит входных операндов. В результате выполнения этой команды изменяются младшие 64 бит регистра-приемника. Пример: |
MOVLPS | MOVe unaligned Low Packed Single precision float point пересылка невыровненных 64 бит из входного операнда в выходной. Один из операндов обязательно должен быть ХММ-регистром, в качестве второго может выступать 64-разрядная ячейка памяти. Пересылаются толь- ко младшие 64 бит входных операндов. Старшие 64 бит обоих операндов не изменяются. Если данные передаются из ХММ-регистра, то пересылке подлежат только младшие 64 бит. Команда не требует выравнивания по 16-байтовой границе адреса ячейки памяти. Пример: |
MOVMSKPS | MOVe sign MaSK Packed Single precision float point to integer Пересылка знакового бита каждого из четырех упакованных чисел входного операнда в младшие четыре бита выходного операнда. В качестве входного операнда может выступать только ХММ-регистр, а в качестве выходного операнда — 32-разрядный регистр общего назначения. Эта команда используется для организации условных переходов. Пример: |
MOVSS | MOVe Scalar Single precision float point Пересылка 32 младших битов из источника в приемник, при этом как минимум один из операндов должен быть ХММ-регистром. Второй операнд должен быть 32-разрядной ячейкой памяти. При выполнении операции пересылки из операнда в памяти младшие 32 бит помещаются в младшие 32 бит ХММ-регистра. Если выполняется пересылка из ХММ-регистра, то выбираются младшие 32 разряда регистра, остальные разряды не изменяются. |
|
|
|
|