Разделы:


Best links:

тип шин

--------------------------

Система команд ммх-расширения

Любая команда, относящаяся к ММХ-расширению начинается с буквы 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-разрядном регистре процессора.

         Арифметические команды включают команды сложения, вычитания, умножения и сравнения.

предыдущаяследующая