Контрольная работа: Дополнительные арифметические команды
где:
где:
где:
КОМАНДЫ УПРАВЛЕНИЯ СОПРОЦЕССОРОМ х87
Команды управления сопроцессором х87 обеспечивают доступ к нечисловым регистрам. Мнемоники, которые начинаются с FN, соответствуют командам «БЕЗ ОЖИДАНИЯ», т.е. процессор х86 передает их для выполнения в сопроцессор х87, не проверяя занятость сопроцессора и игнорируя численные особые случаи.
Мнемоники без буквы «N» соответствуют командам «С ОЖИДАНИЕМ», т.е. заставляют процессор х86 реагировать на незамаскированные особые случаи и ожидать завершения выполнения команд в сопроцессоре х87. В общем случае, программистам рекомендуется избегать форм команд «без ожидания».
- Команда – FNSTCW mem (FSTCW mem) – передает содержимое регистра управления (CW) в ячейку памяти.
- Команда – FLDCW mem – загружает регистр управления (CW) из ячейки памяти. Эти две команды применяются для изменения режима работы сопроцессора х87.
- Команда – FNSTSW mem (FSTSW mem) – передает содержимое регистра состояния (SW) сопроцессора х87 в ячейку памяти.
- Команда – FNSTSW AX (FSTSW AX) – передает содержимое регистра состояния (SW) сопроцессора в регистр AX микропроцессора х86.
- Команда – FNCLEX (FCLEX) – сбрасывает в регистре состояния сопроцессора флаги особых случаев, а также биты ES и BUSY. Эти флаги не сбрасываются аппаратно и должны явно сбрасываться программистом.
- Команда – FNINIT (FINIT) – инициализирует регистры управления, состояния и тэгов на значения, приведенные в табл. 9. Такое же действие производит аппаратный сигнал сброса – RESET.
Таблица 9 – Инициализация сопроцессора х87
Регистр | Выбор | Режим работы |
Регистр управления | (Режим бесконечности) |
Проективный – (287) Афинный – (387+) |
Режим округления | Округление к ближайшему | |
Точность | Расширенная | |
Все особые случаи | Замаскированы | |
Регистр Состояния | Бит занятости | В = 0: Не занят |
Код условия | Не определен | |
Указатель стека | TOP = 000 | |
Бит суммарной ошибки | ES = 0 | |
Регистр тэгов | Все тэги показывают – "пустой" |