Коды условия FPU x87

Действия, предпринимаемые обработчиком особых случаев FPU

Приоритеты особых случаев FPU

 

1.Недопустимая операция:

– опустошение стека;

– переполнение стека;

– недопустимый формат операнда (только для операнда в расширенном формате двойной точности);

– ______.

2.______ (не истинный особый случай).

3.Прочие особые случаи недопустимой операции.

4.Денормализованный операнд.

5.Переполнение и ________________________ (может вызвать особый случай гр. 6).

6.Потеря ____________.

 

 

1.Анализ сохраненного ______________ FPU с целью определения причины ошибки.

2.Устранение причины ошибки.

3.________ флагов особых случаев.

4.Возврат в прерванную программу и продолжение ее нормального выполнения.

При необходимости:

– инкремент программного счетчика ошибок для последующего его анализа;

– печать и отображение диагностической информации;

– приостанов выполнения основной программы.

 

 

Биты C0–C3 отражают результат операции ______________ двух вещественных чисел или _____________________ операции.

Используются в общем случае для реализации ветвлений (____________ ______________) и при анализе _________ особых случаев.

Устанавливаются автоматически.

 

Обработка кодов условия FPU x86

Cуществуют два варианта реализации ветвлений по итогам сравнения пары значений с плавающей точкой:

– «старый» метод (процессоров, предшествующих ___);

– «новый» метод (_____).

 

«Старый» метод обработки кодов условия FPU

1.Производится ______________ двух операндов с плавающей точкой с помощью команды сравнения FCOM, FCOMP, FCOMPP, FTST, FUCOMPP, FICOM или FICOMP.

2.В соответствии с полученным результатом автоматически устанавливаются флаги кода условия C0-C3.

3.Содержимое флагов C0-C3 копируется в флаги состояния регистра _________ посредством двухэтапной процедуры:

– Команда ________ ___ передает слово состояния FPU в регистр AX.

– Команда ______ копирует 8 старших бит регистра AX, содержащих флаги кодов условия, в младшие 8 разрядов регистра _________.

 

 

 

«Новый» метод обработки кодов условия FPU

Для сравнения двух операндов с плавающей точкой используется одна из новых (P6+) команд FCOMI, FCOMIP, FUCOMI или FUCOMIP, которые устанавливают флаги _____ ___ __ ___ непосредственно в регистре _________.

Одна команда «нового» метода эквивалентна трем командам «старого».

Новые (P6+) команды FCMOVcc реализуют ____________ пересылки между регистрами FPU в зависимости от состояния флагов ZF, PF и CF. Благодаря этому отпадает необходимость в использовании оператора «IF».