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

Система команд співпроцесора Intel 8087 Команди передачі даних

При виконанні цих команд операнд зчитується з оперативної пам'яті, перетвориться в формат з розширеною точністю. Потім поле ST регістра стану зменшується на одиницю і виконується запис операнда в чисельний регістр, який визначається новим значенням поля ST. Тобто операнд записується в стек чисельних регістрів, а покажчик стека (поле ST) зменшується на одиницю. За своєю дією ці команди нагадують команду PUSH центрального процесора.

Безпосередньо перед завантаженням чисельного регістра перевіряється вміст поля TAG0. Якщо цей вміст не дорівнює 11 (порожній регістр), в регістрі стану встановлюється прапор IE (недійсна операція) і викликається переривання (якщо в регістрі управління не встановлена​​маска IM - маска недійсноїоперації).

FLD src

Завантажити дійсне число в ST (0) (вершину стека) з області пам'яті. Область пам'яті може бути 32 -, 64 -, 80-бітною.

FILD src

Завантажити ціле число в ST (0) з пам'яті. Область пам'яті може бути 16 -, 32 -, 64-бітною.

FBLD src

Завантажити BCD-число в ST (0) з 80-бітної області пам'яті.

Завантаження констант виконується набагато швидше спеціальними командами, ніж командами завантаження даних з оперативної пам'яті.

FLDZ

Завантажити0 вST(0).

FLD1

Завантажити1вST(0).

FLDPI

ЗавантажитиPIвST(0).

FLDL2T

ЗавантажитиLOG2(10)вST(0).

FLDL2E

ЗавантажитиLOG2(e)вST(0).

FLDLG2

ЗавантажитиLG(2)вST(0).

FLDLN2

ЗавантажитиLN(2)вST(0).

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

FST dest

Запис дійсного числа з ST (0) в пам'ять. Область пам'яті 32 -, 64 - або 80-бітна, також як операнд можна використати посилання на чисельний регістр ST (i), тому цю команду можна використовувати для копіювання верхівки стека в будь-який інший чисельний регістр.

FBST dest

Запис BCD-числа в пам'ять. Область пам'яті 80-бітна.

FIST dest

Запис цілого числа в пам'ять. Область пам'яті може бути 16 -, 32 -, 64-бітною.

Ці команди спочатку зберігають вершину стека в пам'яті, а потім виштовхують (видаляють) дані з вершини стека. Вміст чисельного регістра, номер якого визначається полем ST регістра стану, перетворюється в необхідний формат і записується в комірки оперативної пам'яті, які задані операндом команди.

Після запису вміст поля ST збільшується на одиницю. Ці дії аналогічні виконуваним командою POP центрального процесора.

FSTP dest

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

FBSTP dest

Запис BCD-числа в пам'ять. Область пам'яті 80-бітна. При цьому відбувається виштовхування вершини з стека.

FISTP dest

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

FXCH st(i)

Обмін значеннями вершини стека і регістра i.

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