Команды преобразования.
Команды преобразования могут выполняться, как и арифметические команды, могут выполняться в параллельном и скалярном контекстах. К этой группе команд относятся:
Команда cvtps2pi - параллельное преобразование двух младших упакованных 32- 32-разрядных чисел с плавающей точкой в коротком формате в два 32-разрядных целых числа. Команда имеет два операнда. В качестве входного операнда могут выступать ХММ-регистр или 128-разрядная ячейка памяти. Выходным операндом может служить один из регистров ММХ. На результат преобразования влияет установка битов поля rc, определяющего режим округления, регистра управления-состояния (MXCSR).
Команда cvtss2si - скалярное преобразование младшего 32-разрядного числа с плавающей точкой в коротком формате в 32-разрядное целое число. Команда имеет два операнда. В качестве входного операнда могут выступать ХММ-регистр или 128-разрядная ячейка памяти. Выходным операндом может служить один из 32-разрядных регистров общего назначения. Как и для команды cvtps2pi, на результат преобразования влияет установка битов поля гс, определяющего режим округления, регистра управления-состояния (MXCSR).
Команда cvttps2pi - параллельное преобразование двух младших упакованных 32-разрядных чисел с плавающей точкой в коротком формате в два 32-разрядных целых числа путем отсечения дробной части исходных операндов. Команда имеет два операнда. В качестве входного операнда могут выступать ХММ-регистр или 128-разрядная ячейка памяти. Выходным операндом может служить один из ММХ-регистров. Установка битов поля rc на результат не влияет.
Команда cvttss2si - скалярное преобразование младшего 32-разрядного числа с плавающей точкой в коротком формате в 32-разрядное целое число путем отсечения дробной части входного операнда. Команда имеет два операнда. В качестве входного операнда могут выступать ХММ-регистр или 128-разрядная ячейка памяти, а выходным операндом может служить один из 32-разрядных регистров общего назначения. Установка битов поля rc.
Команда cvtpi2ps - преобразование двух целых 32-разрядных чисел со знаком в два 32-разрядных числа с плавающей точкой в коротком формате. Команда имеет два операнда. В качестве входного операнда, или операнда-источника, может выступать ММХ-регистр или 64-разрядный операнд в памяти. Выходным операндом может служить только ХММ-регистр. Результат преобразования помещается в младшие два 32-разрядных элемента ХММ-регистра, старшие два элемента остаются без изменений. На результат преобразования влияет установка битов поля rc.
Командаcvtsi2ss - преобразование 32-разрядного числа в целочисленном формате в 32-разрядное число с плавающей точкой в коротком формате. Команда имеет два операнда. В качестве входного операнда, или операнда-источника, может выступать 32-разрядный регистр общего назначения или операнд в памяти. Выходным операндом может служить только ХММ-регистр. Результат преобразования помещается в младший 32-разрядный элемент ХММ-регистра, при этом три старших элемента остаются без изменений. На результат преобразования влияет установка битов поля rc.
Дата добавления: 2018-11-26; просмотров: 747;