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

Группа команд управления предназначена для работы с нечисловыми регистрами сопроцессора. Мнемоники управляющих команд могут начинаться с FN (без ожидания и без проверки особах случаев) или F (с ожиданием). Команды с буквой N в мнемокоде выполняются немедленно, что позволяет сэкономить несколько тактов.

F[N]STCW приемник ; записать содержимое CW в опер. память
FLDCW источник; загрузить CW из оперативной памяти
F[N]STSW приемник ; записать SW в оперативную память
F[N]STSW AX ; записать SW в AX
F[N]CLEX; cбросить флаги особых случаев в SW и биты ES, B



F[N]INIT; инициализировать сопроцессор:

  • управляющий регистр – бесконечность со знаком, округление к ближайшему,расширенная точность, все особые случаи замаскированы (CWR <- 37Fh, rc <- 00, pc <-11)
  • регистр состояния – бит занятости сброшен, код условия не определен, флаги особых случаев установлены в нуль (SWR <- 00h)
  • регистр тегов – все поля регистра тегов содержат значение 11 (TWR <-FFFFh)

F[N]STENV приемник ; записать в память среду — содержимое всех регистров, кроме численных, в следующем порядке CWR, SWR, TWR, IPR, DPR
FLDENV источник ; загрузить среду
F[N]SAVE приемник; записать полное состояние (дополнительно сохраняет содержимое численных регистров)
FRSTOR источник; восстановить полное состояние


FINCSTP ; увеличить указатель стека TOP на 1
FDECSTP ; уменьшить указатель стека TOP на 1
FFREE st(i) ; пометить регистр как свободный


FNOP ; нет операции (не производит никаких действий)
FSETPM ; установить защищенный режим работы (переводит сопроцессор в защищенный режим работы), возврат возможен только после сброса сопроцессора

17.07.2015