Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛК_МашЗавЯП_А4.doc
Скачиваний:
157
Добавлен:
10.06.2015
Размер:
19.94 Mб
Скачать
      1. Классификация команд

После обзора команды будут рассмотрены подробно.

Категория

Подкатегория

Команды

Управление

сопроцессором

Инициализация

FINIT

Работа со средой

FSAVE, FSTENV, FLDENV, FCLEX, FLDCW, FSTCW, FSTSW, FRSTOR

Работа со стеком

FINCSTP,FDECSTP,FFREE,

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

FNOP,FWAIT

Передача данных

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

FLD,FST,FSTP

Целые числа

FILD, FIST

Десятичные числа

FBLD, FBST, FBSTP

Загрузка констант

0, 1, числоPI, Log2(10), Log2(e), Log10(2), LN(2)

Обмен

FXCH

Сравнение данных

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

FCOM, FCOMP, FCOMPP, FUCOMP, FUCOMPP

Целые числа

FICOM, FICOMP

Анализ

FTST, FXAM

Арифметические

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

FADD, FADDP, FSUB, FSUBP, FSUBR, FSUBRP, FMUL, FMULP, FDIV, FDIVP, FDIVR, FDIVRP

Целыечисла

FIADD, FISUB, FISUBR, FIMUL, FIDIV, FIDIVR

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

FABS, FCHS, FSQRT, FSCALE, FPREM, FPREM1, FRNDINT

Трансцендентные

Тригонометрия

Синус, Косинус, Синус + Косинус, Тангенс, Арктангенс

Логарифмы и степени

2 в степени X минус 1, Y*Log2(X), Y*Log2(X+1)

      1. Команды управления сопроцессором

Инициализация

Перед использованием любых команд математического сопроцессора необходимо выполнить его инициализацию командой FINIT(Floating-pointINITialisationadeviceFPU). Алгоритм работы команды выглядит следующим образом:

  • В регистр управления (cwr) помещается число 37h, означающее, что округление будет выполняться до ближайшего целого (поле гс = 0).

  • Биты с нулевого по пятый устанавливаются в 1, что означает маскирование всех исключений.

  • Поле управления точностью устанавливается для работы с максимальной точностью в 64 бит (рс =11).

  • Регистр состояния (swr) обнуляется, а это означает, что исключения отсутствуют и физический регистр R0 регистрового стека становится вершиной стека st(O).

  • В регистр тегов (twr) заносятся единицы, а это означает, что все регистры сопроцессора считаются пустыми.

  • Регистры указателей данных (dpr) и команд (ipr) обнуляются.

Команда

Описание

FINIT

Floating-point INITializing a device FPU

Инициализация сопроцессора.

Работа со средой

Команда

Описание

FSAVE приемник

Floating-point SAVE fpu state.

Сохранение состояния оборудования и файла регистров в памяти.

FSTENV источник

Floating-point STore ENVironment.

Сохранение состояния оборудования (источника - SR, CR, TAGW, FIP, FDP) в памяти.

FLDENV источник

Floating-point LoaD ENVironment.

Загрузка состояния оборудования (источника - SR, CR, TAGW, FIP, FDP) из памяти.

FRSTOR src

Floating-point ReSTORe fpu state.

Восстановление состояния оборудования и файла регистров в памяти.

FCLEX

Floating-point CLear EXception.

Сброс исключений.

FLDCW источник

Floating-point LoaD Control Word.

Загрузка управляющего слова (16 бит) из источника в регистр управления SWR

FSTCW приемник

Floating-point STore Control Word.

Сохранение управляющего слова в приемнике.

FSTSW приемник

Floating-point STore Status Word.

Запись слова состояния из регистра управления SWR в приемник (регистр или память).

Работа со стеком

Команда

Описание

FINCSTP

Floating-point INCrement Stack Top Pointer.

Инкремент указателя стека.

FDECSTP

Floating-point DECrement Stack Top Pointer.

Декремент указателя стека.

FFREE ST(i)

Floating-point FREE fpu stack register.

Показать регистр ST(i) как свободный.

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

FNOP

Floating-point No Operation.

Холостая операция сопроцессора.

FWAIT

Floating-point WAIT.

Ожидание процессором завершения текущей операции сопроцессором.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]