Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
12.05.2015
Размер:
311.3 Кб
Скачать

Команди порівняння даних

FCOM

FCOM Порівняння дійсних чисел ST (0) і ST (1). Прапори встановлюються, як при операції ST (0)-ST (1).

FCOM src

Порівняння ST (0) з операндом в пам'яті. Операнд може бути 32 - або 64-бітним.

FCOMP src

Порівняння дійсного числа в ST (0) з операндом з виштовхуванням ST (0) з стека. Операнд може бути регістром і областю пам'яті.

FCOMPP

Порівняння ST (0) і ST (1) з подвійним виштовхуванням з стека.

FICOM src

Порівняння цілих чисел в ST (0) з операндом. Операнд може бути 16 - або 32-бітним.

FICOMP src

Порівняння цілих чисел в ST (0) з операндом. Операнд може бути 16 - або 32-бітною областю пам'яті або регістром. При виконанні операції відбувається виштовхування ST (0) з стека.

FTST

Перевірка ST (0) на нуль.

FUCOM ST(i)

Порівняння ST (0) з ST (i) без урахування порядків.

FUCOMP ST(i)

Порівняння ST (0) з ST (i) без урахування порядків. При виконанні операції відбувається виштовхування з стека.

FUCOMPP ST(i)

Порівняння ST (0) з ST (i) без урахування порядків. При виконанні операції відбувається подвійне виштовхування з стека.

Позначимо операнд команди порівняння як "x". У наступній таблиці наведемо значення бітів кодів умови після виконання команди "FCOM x":

C3 = 0, C0 = 0 - ST (0)> x

C3 = 0, C0 = 1 - ST (0) <x

C3 = 1, C0 = 0 - ST (0) = x

C3 = 1, C0 = 1 - ST (0) і x не можна порівнювати

Остання комбінація виникає при спробі порівняння не чисел, невизначеностей або нескінченностей, а також в деяких інших випадках.

FXAM

Біт C1 містить знак аналізованого числа: 0 - позитивний, 1 - негативний.

За допомогою біта C0 можна визначити, є число кінцевим або нескінченним: 0 - кінцеве число, 1 - нескінченне.

Для кінцевих чисел Для нескінченних чисел

C3 = 0, C2 = 0 - ненормализованном число C3 = 0, C2 = 0 - Нечісло

C3 = 0, C2 = 1 - Нормализованное число C3 = 0, C2 = 1 - Нескінченне число

C3 = 1, C2 = 0 - Нульове число C3 = 1, C2 = 0 - Пусте число

C3 = 1, C2 = 1 - Число денормалізовано C3 = 1, C2 = 1 - Пусте число

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

Співпроцесор використовує шість основних типів арифметичних команд, а також деякі додаткові арифметичні команди

Fxxx Перший операнд береться з верхівки стека (джерело), ​​другий - наступний елемент стека. Результат виконання команди записується в стек

Fxxx пам'ять Джерело береться з пам'яті, приймачем є верхівка стека ST (0). Покажчик стека ST не змінюється, команда дійсна тільки для операндів з одинарною і подвійною точністю

Fixxx пам'ять Аналогічно попереднього типу команди, але операндами можуть бути 16 - або 32-розрядні цілі числа

Fxxx ST (i)

Для цього типу регістр ST (i) є джерелом, а ST (0) - верхівка стека - приймачем. Покажчик стека не змінюється

Fxxx ST (i), ST Для цього типу регістр ST (0) є джерелом, а ST (i) - приймачем. Покажчик стека не змінюється

FxxxP ST (i), ST

Регістр ST (i) - приймач, реєстр ST (0) - джерело. Після виконання команди джерело ST (0) витягується з стека

Рядок "xxx" може приймати такі значення:

ADD - Додавання

SUB - Віднімання

SUBR - Зворотне віднімання, зменшуване і від'ємник міняються місцями

MUL - Множення

DIV - Ділення

DIVR - Зворотне ділення, ділене і дільник міняються місцями

FSQRT

Розрахувати корінь з ST (0) і помістити назад.

FSCALE

Масштабування.ST(0)=ST(0)*2^ST(1)

FEXTRACT

Виділення мантиси і порядку з числа ST (0). В ST (0) поміщається порядок, в ST (1) - мантиса.

FPREM

FPREM Знаходження залишку від ділення. ST (0) = ST (0) MOD ST (1). Знак результату дорівнює знаку ST (0).

FPREM1

Знаходження залишку від ділення в стандарті IEEE.

FRNDINT

Округлення до найближчого цілого числа, що знаходиться в ST (0). ST (0) = int (ST (0))

FABS

Знаходження абсолютного значення. ST (0) = ABS (ST (0))

FCHS

ЗміназнакуST(0)= -ST(0)

Соседние файлы в папке SP_ukr