Система команд ммх-расширения
Любая команда, относящаяся к ММХ-расширению начинается с буквы p. Большинство команд имеют суффикс, который определяет тип данных и используемую арифметику:
• us (unsigned saturation) -беззнаковое насыщение;
• s или ss (signed saturation) -знаковое насыщение;
• b, w, d, q - указывают тип данных (байт, 16-разрядное слово, 32-разрядное слово и 64-разрядное слово, соответственно). Если в суффиксе есть две из этих букв, первая соответствует входному операнду, вторая - выходному;
• если в суффиксе нет ни символа s, ни символов ss, то применяется циклическая арифметика (wraparound). Если в этом случае результат операции выходит за двоичную разрядную сетку используемого типа данных, то «лишние» старшие биты результата отбрасываются.
Система команд может быть представлена в виде 5-ти групп команд: передачи данных, арифметических, логических и команд сдвига, упаковки и распаковки и группы специальных команд.
Команды передачи данных.
В группу команд передачи данных входят две команды movd и movq.
Команда movd позволяет копировать 32-разрядное число:
• из младших разрядов одного ММХ-регистра в младшие разряды другого
(старшие разряды заполняются нулями);
• из переменной в памяти либо из целочисленного регистра в младшие 32
разряда ММХ-регистра (старшие разряды заполняются нулями);
• из младших разрядов ММХ-регистра в ячейку памяти либо в целочисленный регистр.
Команда movq выполняет копирование 64 бит:
• из одного ММХ-регистра в другой;
• из памяти в ММХ-регистр;
• из ММХ-регистра в память.
Среди всех ММХ-команд только movd и movq могут иметь выходной операнд в памяти, a movd - единственная команда, операнд которой может находиться в 32-разрядном регистре процессора.
Арифметические команды включают команды сложения, вычитания, умножения и сравнения.
предыдущаяследующая© Copyright, 2009.
Для связи: info@dgs-srl.com.