Программирование арифметических операций над числами с плавающей запятой

Лабораторная работа
в среде программирования VAX-11



Если Вы считаете, что данная страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи

Среда программирования: VAX-11

Название работы: Программирование арифметических операций над числами с плавающей запятой

Вид работы: Лабораторная работа

Описание: Лабораторная работа 4

ПРОГРАММИРОВАНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ
НАД ЧИСЛАМИ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ

Цель работы: отработка алгоритмов выполнения арифметических операций над числами с плавающей запятой.

Методические указания

Выполнение операций над числами с плавающей запятой может быть разбито на несколько этапов:
- выделение из машинной записи числа с плавающей запятой порядка и мантиссы с учетом скрытого бита;
- сравнение и выравнивание порядков с денормализацией мантиссы числа с меньшим порядком, если выполняется операция сложения или вычитания; сложение или вычитание порядков, если выполняется операция умножения или деления;
- выполнение операции над мантиссами;
- нормализация результата с коррекцией порядка;
- формирование числа со скрытым битом для записи в память.
При выполнении операций над числами с плавающей запятой порядки, как правило, остаются в формате характеристик, т.е. смещенными. При этом, когда выполняется сравнение характеристик, смещения взаимно сокращаются и в результате остается истинная разность порядков, а когда выполняется сложение или вычитание характеристик, полученная сумма или разность корректируется на величину смещения.
Операции над мантиссами, как правило, выполняются в прямых кодах. При этом знаки операндов анализируются отдельно. По результатам этого анализа определяется знак произведения или частного, или тип операции: сложение или вычитание.
В операциях над числами с плавающей запятой может возникнуть переполнение, когда порядок результата операции больше максимального, или антипереполнение или исчезновение порядка, когда порядок результата операции меньше минимального. При сложении (или вычитании) чисел с плавающей запятой переполнение или антипереполнение может возникнуть только в ходе нормализации суммы (или разности) мантисс. При умножении (или деления) чисел с плавающей запятой переполнение или антипереполнение выявляется при сложении (или вычитании) порядков. Причем в ходе нормализации мантиссы произведения (или частного) может исчезнуть переполнение или возникнуть антипереполнение. Так как порядки чисел с плавающей запятой представлены в форме характеристик и являются числами без знака, то наличие переполнения или исчезновения порядка определяется после сложения (или вычитания) характеристик путем анализа признака переноса (или заема) C и старшего разряда суммы (или разности) характеристик.
Чтобы упростить процедуру формирования суммы или разности мантисс и исключить сложную процедуру анализа знаков, мантиссы чисел перед выполнением операции сложения или вычитания переводятся в дополнительный код, а после операции делается обратное преобразование мантиссы результата в прямой код.
Аналогично, при выполнении умножения или деления, характеристики заменяются порядками со знаком в дополнительном коде. При этом возникновение переполнения или исчезновения порядков (антипереполнения) при сложении (вычитании) порядков может быть определено по признаку переполнения V.
По результатам выполнения операций над числами с плавающей запятой должны быть сформированы признаки PSW. Признак N определяется знаком результата операции. Признак V устанавливается в 1, если в результате выполнения операции возникло переполнение; при этом полученные значения мантиссы и характеристики записываются как результат операции. Признак Z устанавливается в 1, если возникло антипереполнение или мантисса результата равна 0; при этом знак результата операции сохраняется, а мантисса и характеристика сбрасываются в 0. Признак C после выполнения операции над числами с плавающей запятой должен быть сброшен в 0.

Практическая часть

Практическая часть работы включает выполнение следующих действий:
а) в соответствии с индивидуальным заданием разработка алгоритмов выполнения двух арифметических операций над числами с плавающей запятой: одна операция - сложение или вычитание, вторая операция - умножение или деление;
б) в соответствии с разработанными алгоритмами составление программ выполнения арифметических операций над числами с плавающей запятой;
в) формирование и занесение в память и РОНы исходных значений и необходимых вспомогательных данных;
г) запись в память программ выполнения арифметических операций над числами с плавающей запятой;
д) выполнение программ;
е) контроль результатов работы программ.
Правильность разработки и выполнения программ выполнения арифметических операций над числами с плавающей запятой контролируется путем ручной трассировки контрольных примеров с последующим сравнением результатов работы программы с результатами ручной трассировки.

Варианты заданий.

Варианты индивидуальных заданий приведены в табл. 2.14 и табл. 2.15.

Порядок выполнения работы.

А. В процессе самостоятельной работы

1. Выбрать исходные данные в соответствии с номером варианта.
2. Составить алгоритмы программ для решения поставленной задачи.
3. Составить программы вычислений в мнемонических и машинных кодах.
4. Составить карту распределения памяти под команды и данные.
5. Произвести ручную трассировку программ с использованием
самостоятельно выбранных исходных данных, при этом в таблице трассировки должны быть отражены значения информации в ячейках памяти и используемых регистрах, а также значения в регистре слова состояния PSW.
6. Оформить отчет по лабораторной работе.


Содержание отчета

1. Титульный лист.
2. Текст задания.
3. Перевод исходных данных в шестнадцатиричную систему счисления.
4. Схемы алгоритмов программ.
5. Тексты программ в мнемонических и машинных кодах.
6. Карта распределения памяти под команды и данные.
7. Таблицы трассировки программ.

Во всех вариантах операнды должны быть представлены в формате длинного слова L (32 разряда).

Программируемые операции Таблица 2.14

ВариантФормат данных1 операцияДействия над мантиссами2 операцияДействия над порядками
7GСложениеВ дополнительных кодахУмножениеВ дополнительных кодах

Алгоритмы выполнения умножения или деления Таблица 2.15
ВариантБазовый алгоритм
7Умножение со сдвигом суммы частичных произведений влево, неподвижным множимым и анализом множителя, начиная со старших разрядов


Год: 2018

Данный заказ (лабораторная работа) выполнялся нашим сайтом в 2018-м году, в рамках этого заказа была разработана программа в среде программирования VAX-11. Если у Вас похожее задание на программу, которую нужно написать на VAX-11, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2018-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".

Купить эту работу

Viber: +79374242235
Telegram: kursovikcom
ВКонтакте: kursovikcom
WhatsApp +79374242235
E-mail: info@kursovik.com
Skype: kursovik.com