Разделы:
Best links:
Система команд sse-расширения
Команды сравнения позволяют определять соответствие операндов указанным условиям и, в зависимости от результата сравнения, устанавливают в нужном элементе операнда-приемника двоичные нули (если условие не выполняется) или двоичные единицы (если условие выполняется). Команды сравнения могут выполняться параллельно над упакованными операндами или скалярно над младшими двойными словами. Все команды имеют два операнда: в качестве входного операнда, или операнда-источника, могут выступать ХММ-регистр или ячейка памяти 128-разрядная для параллельных команд и 32-разрядная для скалярных. Выходным операндом, или операндом-приемником, может быть только один из ХММ-регистров, в котором задействованы либо 128 бит (параллельные команды), либо младшие 32 бита (скалярные команды).
Таблица 3.3
|
Операция |
Параллельная |
Скалярная |
|
Сравнение – условие «равно» |
cmpeqps |
cmpeqss |
|
Сравнение – условие «меньше» |
cmpltps |
cmpltss |
|
Сравнение – условие «меньше или равно» |
cmpleps |
cmpless |
|
Сравнение – условие «неупорядоченности» |
cmpunordps |
cmpunordss |
|
Сравнение – условие «не равно» |
cmpneqps |
cmpneqss |
|
Сравнение – условие «не меньше» |
cmpnltps |
cmpnltss |
|
Сравнение – условие «не меньше или равно» |
cmpnleps |
cmpnless |
|
Сравнение – условие «упорядоченности» |
cmpordps |
cmpordss |
|
Скалярное сравнение с установкой eflags |
- |
comiss |
|
Неупорядоченное сравнение с установкой eflags |
- |
ucomiss |
Две последние команды в табл 3.3 comiss и ucomiss имеют два операнда и выполняют скалярное сравнение младших 32-разрядных операндов. Особенностью этих команд является то, что содержимое обоих операндов после выполнения операции сравнения остается неизменным, а в регистре флагов EFLAGS процессора определенным образом устанавливаются флаги ZF, PF и CF, а флаги OF, SF и AFсбрасываются в 0. В качестве входных операндов обеих команд могут выступать ХММ-регистры или 32-разрядные переменные в памяти, выходными операндами могут быть только ХММ-регистры. Команды ucomiss и comissотличаются тем, что генерируют исключительные ситуации для различных форматов не-чисел (NAN).
предыдущаяследующая© Copyright, 2009.
Для связи: info@dgs-srl.com.