русс | укр

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

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

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

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


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

PL/M-386/486


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


Программисты, работающие на языке PL/M-386/486, могут получить доступ к очень полезному подмножеству возможностей процессораi486. Тип данных REAL языка PL/M-386/486 соответствует обычному вещественному формату (32 бита). Этот тип данных дает диапазон чисел порядка 8.43 x 10**(-37) <= ▀X▀ <= 3.38 x 10**(38) и имеет около семи значимых десятичных цифр. Такое представление чисел отвечает многим применениям микрокомпьютеров. Преимущество при использовании типа данных REAL в том, что промежуточные результаты при вычисленииях представляются компилятором языка PL/M-386/486 в расширенном вещественном формате. Это означает, что полный диапазон представления чисел и точности процессора используется для промежуточных вычислений. Переполнение, отрицательное переполнение, ошибки округления более вероятны во время промежуточных вычислений, чем при получении конечного результата. Представление промежуточных результатов в вещественном формате с расширенной точностью уменьшает вероятность переполнения, отрицательного переполнения и исключает ошибки округления, как серьезные ошибки, до достижения конца вычислений.

Компилятор генерирует команды по обработке чисел с плавающей точкой для вычисления выражений, содержащих тип данных REAL в виде переменных или констант. Это означает, что сложение, вычитание, умножение, деление, сравнение и присваивание чисел типа REAL осуществляется модулем обработки данных с плавающей точкой. С другой стороны, выражения типа INTEGER вычисляются модулем обработки целочисленных операций.

Пять встроенных процедур (Таблица 18-1) дают программисту, работающему на языке PL/M-386/486 доступ к командам управления модулем по обработке данных с плавающей точкой. Перед любой арифметической операцией обычная программа на PL/M-386/486 будет инициализировать модуль, используя процедуру INIT$REAL$MATH$ UNIT, а затем для настройки конфигурации установит режим SET$REAL$MODE. Процедура SET$REAL$MODE загружает управляющее слово модуля обработки данных с плавающей точкой, и его 16-разрядный параметр имеет формат, указанный для управляющеего слова в Главе 14. Рекомендуемая величина этого параметра - 033H (округление до ближайшего, точность 64 бита, блокировка исключений устраняет ошибочные команды). Другие процедуры могут использоваться по усмотрению программиста.



Если любая исключение не заблокировано, то обработчик исключений должен иметь процедуру обработки в форме процедуры прерывания, которая вызывается через вектор прерывания номер 16. Обработчик может использовать процедуру GET$REAL$ERROR для получения младшего байта слова состояния модуля обработки операций с плавающей точкой и затем очистить флаги маски исключения. Байт, возвращаемый процедурой GET $REAL $ERROR cодержит флаги маски, которые могут быть проанализированы для определения номера исключения.

Процедуры SAVE$REAL$STATUS и RESTORE$REAL$STATUS обеспечивают многозадачный режим работы, в котором выполняемая задача, использующая модуль обаботки операций с плавающей точкой, может быть прервана другой задачей, также использующей модуль обработки операций с плавающей точкой. Операционная система отвечает за выполнение процедуры SAVE$REAL$STATUS перед выполнением любой команды, которая может повлиять на модуль обработки операций с плавающей точкой. Это процедуры INIT$REAL$ MATH$UNIT и SET$REAL$MODE, а также арифметические команды. Процедура SAVE$REAL$STATUS сохраняет состояние модуля обработки операций с плавающей точкой (регистры, статус, управляюще слово и так далее) в стеке памяти. Процедура RESTORE$ REAL$STATUS восстанавливает информацию о состоянии; прерванная задача может вызвать эти процедуры для восстановления состояния модуля обработки операций с плавающей точкой во время выполнения. Это дает возможность прерванной задаче начать выполнение с того места, когда задача была прервана.

Тавблица 18-1.Встроенные процедуры языка PL/M-386/486 +---------------------------------------------------------------+| | Команда | || Процедура | управления | Описание || | FPU | |+---------------------+------------+----------------------------|| INIT$REAL$MATH$UNIT | FINIT | Инициализирует FPU || STE$REAL$MODE | FLDSW | Устанавливает маски исклю- || | | чений, точность округле- || | | ния и управление бесконеч- || | | ностью || GET$REAL$ERROR | FNSTSW | Сохраняет, а затем очищает || | &FNCLEX | значение флагов || SAVE$REAL$STATUS | FNSAVE | Сохраняет состояние FPU || RESTORE$REAL$STATUS | FRSTOR | Восстанавливает состояние || | | FPU |+---------------------------------------------------------------+


<== предыдущая лекция | следующая лекция ==>
Управляющие команды | Определение данных


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


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

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

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


 


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

 
 

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

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