Аппаратное обеспечение IBM PC



         

Управляющие команды - часть 2


Регистр Устанавливаемый режим работы

Управляющий Проективная бесконечность, округление к ближайшему, расширенная точность, все особые случаи замаскированы.

Состояния B=0 (бит занятости сброшен), код условия не определен, ST=ES=0, флаги особых случаев установлены в нуль.

Тегов Все поля регистра тегов содержат значение 11 (пустой регистр).

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

------------------------¬ ¦ Управляющий регистр ¦ +-----------------------+ ¦ Регистр состояния ¦ +-----------------------+ ¦ Регистр тегов ¦ +-----------------------+ ¦ ¦ +- Указатель команды -+ ¦ ¦ +-----------------------+ ¦ ¦ +- Указатель операнда -+ ¦ ¦ L------------------------

Команда FLDENV предназначена для загрузки регистров, сохраненных ранее командой FNSTENV. Обе эти команды полезны в программах обработки особых случаев.

Команды FNSAVE и FRSTOR действуют аналогично командам FNSTENV и FLDENV, но они дополнительно сохраняют и восстанавливают содержимое численных регистров. Формат области сохранения регистров, занимающей 94 байта, приведен на следующем рисунке:

------------------------¬ ¦ Управляющий регистр ¦ +-----------------------+ ¦ Регистр состояния ¦ +-----------------------+ ¦ Регистр тегов ¦ +-----------------------+ ¦ ¦ +- Указатель команды -+ ¦ ¦ +-----------------------+ ¦ ¦ +- Указатель операнда -+ ¦ ¦ +-----------------------+-------------------------------¬ ¦ ST(0) ¦ +-------------------------------------------------------+ ¦ ST(1) ¦ +-------------------------------------------------------+ ¦ ST(2) ¦ +-------------------------------------------------------+ ¦ ST(3) ¦ +-------------------------------------------------------+ ¦ ST(4) ¦ +-------------------------------------------------------+ ¦ ST(5) ¦ +-------------------------------------------------------+ ¦ ST(6) ¦ +-------------------------------------------------------+ ¦ ST(7) ¦ L--------------------------------------------------------

Команды FINCSTP и FDECSTP, соответственно, увеличивают и уменьшают на 1 указатель стека SP.

Команда FFREE ST(i) помечает численный регистр ST(i) как пустой, записывая в соответствующее поле регистра тегов значение 11.

Команда FNOP не производит никаких действий.

Команда FSETPM переводит сопроцессор в защищенный режим работы. Подробное рассмотрение защищенного режима работы выходит за рамки данной книги.




Содержание  Назад  Вперед