русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Программная обработка исключений


Дата добавления: 2015-06-12; просмотров: 425; Нарушение авторских прав


Если модуль обработки операций с плавающей точкой встречает немаскированное условие исключения, то немедленно вызывается программный обработчик исключений перед тем как выполнить следующую команду WAIT или не управляющую команду с плавающей точкой. В зависимости от значения бита NE управляющего регистра CR0, обработчик исключений вызывается либо через вектор прерывания 16, либо через внешнее прерывание.

Если NE = 1, то немаскированное исключение с плавающей точкой обрабатывается через прерывание 16 непосредственно перед выполнением следующей команды WAIT или не управляющей команды с плавающей точкой. Прерывание 16 является вызовом операционной системы, которое в свою очередь вызывает обработчик исключения. В Главе 9 приведены общие соображения относительно исключений и прерываний процессора i486.

Если NE = 0 (и ввод IGNNE# не является активным), то немаскированное исключение с плавающей точкой замораживает процессор непосредственно перед выполнением следующей не управляющей команды с плавающей точкой или команды WAIT. Замороженный процессор ожидает внешнее прерывание, которое должно исходить от внешнего аппаратного обеспечения в ответ на вывод FERR# процессора. (Вне зависимости от значения NE, причиной активности вывода FERR# является немаскированное числовое исключение.) В этом случае внешнее прерывание вызывает процедуру обработки исключения. Если NE = 0, но активен ввод IGNNE#, процессор не обращает внимания на исключение и продолжает работу. Ошибка, проходящая через внешнее прерывание, поддерживается только для совместимости с DOS. В Главе 25 приведено дальнейшее обсуждение подобной совместимости.

Процедура обработки исключений является обычно частью программного обеспечения систем. Типичные ответы на исключения включают:

  • Увеличение на единицу счетчика исключений для дальнейшего вывода на экран или принтер.
  • Печать или вывод на экран диагностической информации (то есть текущее состояние модуля обработки операций с плавающей точкой и регистров).
  • Прекращение дальнейшего выполнения или использование указателей исключений для того, чтобы сделать команду, которая будет работать без генерации исключений, и ее выполнение.

Прикладным программистам следует обратиться к справочному руководству по операционной системе для получения информации о соответствующих ответах системы на числовые исключения. Для системных программистов в Главе 19 приводятся некоторые детали написания программных обработчиков исключений.





<== предыдущая лекция | следующая лекция ==>
Автоматическая обработка исключений | Недопустимые арифметические операции


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.