Арифметические команды

Команды сравнения данных

Эти команды выполняют сравнение содержимого вершины стека с указанным в команде операндом.

Вещественные числа

Команда Описание
FCOM Floating-point COMpare Сравнение вещественных чисел ST(0) и ST(1). Флаги устанавливаются, как при операции ST(0)-ST(1).
FCOM источник Floating-point COMpare Сравнение ST(0) с операндом в памяти. Операнд может быть 32- или 64-битным.
FCOMP источник Floating-point COMpare and Pop Сравнение вещественного числа в ST(0) с операндом с выталкиванием ST(0) из стека. Операнд может быть регистром и областью памяти.
FCOMPP источник Floating-point COMpare and Pop fnd Pop Сравнение вещественного числа в ST(0) с операндом с двойным выталкиванием ST(0) и ST(1) из стека. Операнд может быть регистром и областью памяти.
FUCOMP ST(i) Floating-point Unorder COMpare and Pop Сравнение ST(0) с ST(i) без учета порядков. При выполнении операции происходит выталкивание из стека.
FUCOMPP ST(i) Floating-point Unorder COMpare and Pop and Pop Сравнение ST(0) с ST(i) без учета порядков. При выполнении операции происходит двойное выталкивание из стека.

Целые числа

Команда Описание
FICOM источник Floating-point Integer COMpare Сравнение целых чисел в ST(0) с операндом. Операнд может быть 16- или 32-битным.
FICOMP источник Floating-point Integer COMpare and Pop Сравнение целых чисел в ST(0) с операндом. Операнд может быть 16- или 32-битной областью памяти или регистром. При выполнении операции происходит выталкивание ST(0) из стека.

Анализ

Команда Описание
FTST Floating-point TeST zero Проверка ST(0) на нуль.
FXAM Floating-point eXAMine Анализ содержимого вершины стека. Результат помещается в биты С3-С0 регистра CWR: · Знак =.> бит C1, · c3c2c0 = 000 - неподдерживаемый формат. · c3c2c0 = 001 - не число. · c3c2c0 = 010 - нормализованное число. · c3c2c0 = 011 - бесконечность. · c3c2c0 = 100 – нуль · c3c2c0 = 101 - пустой операнд. · c3c2c0 = 110 - денормализованное число.

В группу арифметических команд входят команды, реализующие операции сложения, вычитания, умножения и деления. Арифметические команды можно разделить на две подгруппы:

· для работы с целочисленными операндами.

· для работы с вещественными операндами.

Команды для работы с вещественными операндами

Команда Описание
    FADD источник FADD ST(i),ST(0) Floating-point ADDition Сложение. · ST(0) = ST(0) + источник (32- или 64-битное число). · ST(i) = ST(i) + ST(0)
FADDP ST(i),ST(0) Floating-point ADDition and Pop Сложение. ST(i) = ST(i) + ST(0). Выталкивание из стека ST(0).
    FSUB источник FSUB ST(i),ST(0) Floating-point SUBtraction Вычитание. · ST(0) = ST(0) - источник (32- или 64-битное число). · ST(i) = ST(i) - ST(0).
  Floating-point SUBtraction Вычитание. ST(i) = ST(i) - ST(0).
FSUBP ST(i),ST(0) Floating-point SUBtraction and Pop Вычитание. ST(i) = ST(i) - ST(0). Выталкивание из стека ST(0).
FSUBR ST(i),ST(0) Floating-point SUBtracttion Revers Обратное вычитание. ST(0) = ST(i) - ST(0)
FSUBRP ST(i),ST(0) Floating-point SUBtracttion Revers and Pop Обратное вычитание ST(0). ST(0) = ST(i) - ST(0). Выталкивание из стека ST(0).
    FMUL FMUL ST(i) FMUL ST(i),ST Floating-point MULtiplay with real value Умножение: · ST(0) = ST(0) * ST(1) · ST(0) = ST(i) * ST(0) · ST(i) = ST(i) * ST(0).
FMULP ST(i),ST(0) Floating-point MULtiplay and Pop Умножение. ST(i) = ST(i) * ST(0)
    FDIV FDIV ST(i) FDIV ST(i),SY Floating-point DIVide Деление двух вещественных чисел.: · ST(0) = ST(0) / ST(1) · ST(0) = ST(0) / ST(i) · ST(i) = ST(0) / ST(i)
FDIVP ST(i),ST(0) Floating-point DIVide and Pop Деление. ST(i)<-ST(0)/ST(i). Выталкивание из стека ST(0).
FDIVR ST(i),ST(0) Floating-point DIVide Revers Обратное деление. ST(0) = ST(i) / ST(0)
FDIVRP ST(i),ST(0) Floating-point DIVide Revers and Pop Обратное деление ST(0) = ST(i) / ST(0) Выталкивание из стека ST(0).

Команды для работы с целочисленными операндами

Команда Описание
FIADD источник Floating-point Integer ADDition Сложение. ST(0) = ST(0) + источник (16- или 32-битное число).
FISUB источник Floating-point Integer SUBtracttion Вычитание. ST(0) = ST(0) - источник (16- или 32-битное число).
FISUBR источник Floating-point Integer SUBtracttion Revers Вычитание. ST(0) = источник (16- или 32-битное число) -.ST(0)
FIMUL источник Floating-point Integer MULtiply Умножение. ST(0) = ST(0) * источник (16- или 32-битное число).
FIDIV источник Floating-point Integer DIVide Деление. ST(0) = ST(0) / источник (16- или 32-битное число).
FIDIVR источник Floating-point Integer DIVide Revers Обратное деление целых чисел. ST(0) = источник / ST(0).

Вспомогательные команды