Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASKS_lektsii_chast_1_1.doc
Скачиваний:
24
Добавлен:
16.11.2019
Размер:
2 Мб
Скачать
☆

Формат регистра состояния fpu x87

PE, Inexact-Result (Precision) – ____________ ______________. Истинный результат не может быть точно представлен в заданном формате. Результат _________________. Обработка продолжается.

UE, Numeric Underflow – _________ _______________, антипереполнение. Истинный результат отличен от нуля, но слишком мал для представления в заданном формате. Результат – __________________________ или нуль.

OE, Numeric Overflow – __________________. Результат слишком велик и не помещается в заданный формат. Результат — наибольшее число или бесконечность.

ZE, Divide-By-Zero – ___________ ____________. Делитель равен нулю, а делимое ___ ______ __ не бесконечность. Результат – бесконечность.

IE, Invalid Operation – ________________________ ____________. Операция после выдачи NAN, неподдерживаемый формат, неопределенная форма или переполнение/опустошение стека. Результат – «скрытый» NAN, неопределенное целое или неопределенное BCD.

DE, Denormal Operand – __________________________ ___________. Хотя бы один из операндов не может быть нормализован. Обработка продолжается.

Для сохранения содержимого SR в памяти используют команды:

  • F[N]STSW;

  • F[N]STENV;

  • F[N]SAVE;

  • FXSAVE.

Для сохранения содержимого SR в регистре AX используются команды:

  • F[N]STSW.

Сброс флагов особых случаев и кодов условия возможен посредством:

  • команд F[N]CLEX;

  • инициализации FPU с помощью команд F[N]INIT или F[N]SAVE;

  • переустановки флагов командами FRSTOR или FLDENV.

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

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

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

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

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

  4. ______.

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

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

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

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

6.Потеря ____________.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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