Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
FXCH
Влияние команды на флаги и форматы команды:
* |
|
|
|
|
|
|
D9 C8+i |
FXCH ST(i) |
Обменять содержимое ST(0) и ST(i) |
8087 |
fxch ST(2) |
D9 C9 |
FXCH |
Обменять содержимое ST(0) и ST(1) |
8087 |
fxch |
Описание:
Команда FXCH меняет местами содержимое регистра-назначения и регистра вершины стека ST(0). Если регистр-назначение не указан явно, то используется ST(1).
Многие числовые команды оперируют только с вершиной стека. Команда FXCHG обеспечивает простое средство для использования этими командами любых других элементов регистрового стека. Например, следующая последовательность берет квадратный корень из третьего от вершины стека регистра (предполагается, что ST не пуст):
FXCH ST(3)
FSQRT
FXCH ST(3)
Операция:
TEMP = ST;
ST = DEST;
DEST = TEMP;
Замечание:
В процессорах, начиная с Pentium, при выполнении потока команд FXCH может быть спарена с некоторыми командами с плавающей запятой (такими как: FADD, FSUB, FMUL, FLD, FCOM, FUCOM, FCHS, FTST, FABS, FDIV; этот набор также включает FADDP, FSUBRP и т.п.). В этом случае пара команд выполняется параллельно и не требует дополнительных тактов.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru