Лабораторная работа №4
Цель работы: Изучить библиотеку стандартных подпрограмм
Общие характеристики библиотеки подпрограмм.
Библиотека подпрограмм с плавающей запятой состоит из 18 подпрограмм, по которым производится 4 арифметических операции со знаком плюс и минус, вычисляются тригонометрические функции, вычисляется факториал, показательная функция и логарифмическая функция.
Имеются также 9 обслуживающих подпрограмм, которые обеспечивают работу основных.
Библиотека подпрограмм с плавающей запятой рассчитана на диапазон изменения чисел от 0.5867*10-38 до 0.1704*1039.
Для работы библиотеки необходимо:
1. объём ЗУ с произвольным обращением 31 байт.
2. глубина использования стека не более 20 байт.
Входные и выходные данные.
Целое число в библиотеке стандартных подпрограмм с плавающей запятой – это однобайтное или двухбайтное число, представленное в прямом коде. У двухбайтового числа 14-й бит – бит переполнения. Старший бит - знаковый. Поле знака содержит нуль, если число положительно.
Формат трехбайтного числа с плавающей запятой (1-й байт – порядок, 2-й и 3-й байты – мантисса):
Биты |
Содержание |
23 |
Знак порядка |
22 – 16 |
Порядок |
15 |
Знак мантиссы |
14 |
Поле переполнения |
13 – 0 |
Мантисса |
Чтобы можно было использовать подпрограммы библиотеки с плавающей запятой для хранения входных данных, промежуточных результатов и выходных данных, выделено 30 последовательных байтов памяти, состоящих из 10 одинаковых трёхбайтовых областей и одного вспомогательного байта памяти. Формат трёхбайтной области полностью совпадают с форматом числа с плавающей точкой.
Три байта, значения битов которых равны нулю, определяется как нуль с плавающей запятой. Никакая другая форма нуля с плавающей запятой в библиотеке не предусмотрена.
Библиотека имеет двоичную числовую базу. Двоичное значение числа может быть представлено по формуле:
где S – значение знакового бита мантиссы;
p – значение знакового бита порядка;
( S x p равно нулю, если число положительное, и единице, если число отрицательное);
e – значение поля порядка;
f – значение поля мантиссы.
Если во время работы какой – либо программы библиотеки происходит переполнение, то бит переполнения библиотеки заполняется единицей. Для правильного представления числа необходимо скорректировать значение порядка и мантиссы. Правильное значение из искаженного получается путём сдвига мантиссы на 1 бит вправо. При этом теряется младший бит мантиссы, но число не округляется и порядок изменяется на единицу.
Организация библиотеки
Библиотека состоит из следующих частей: подпрограмм, вектора переходов в поля данных. Организация библиотеки:
ADXAR: Подпрограмма
… Подпрограммы библиотеки
…
ARCTAN: Подпрограмма
JMP … ADNUM Вектор
JMP … WRABC переходов
XAR1:
… Область памяти Поле данных
XAR A:
Вектор перехода и подпрограммы библиотеки записываются в постоянные ЗУ. Поля данных располагаются в ЗУ с произвольным доступом. Исходные данные перед вызовом требуемой подпрограммы записываются в поле данных. С этого же поля после выполнения требуемой операции данные могут быть считаны.
Подпрограммы библиотеки делятся на основные и вспомогательные (обслуживающие). К основным подпрограммам относятся подпрограммы выполнения арифметических операций, вычисления тригонометрических функций, факториала, показательные и логарифмические функции.
К вспомогательным подпрограммам относятся подпрограммы, обслуживающие область записи о плавающей запятой, и подпрограммы, обеспечивающие выполнение основных тригонометрических функций.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.