Автор работы: Пользователь скрыл имя, 24 Мая 2015 в 19:11, курсовая работа
Данный курсовой проект состоит из двух частей: аналитической и практической. В первой необходимо подготовить теоретический материал на тему: «Двоичная, восьмеричная и шестнадцатеричная системы счисления. Правила переводов десятичных чисел в них и обратно. Форматы хранения чисел с плавающей точкой».
Введение……………………………………………………………...7
1 Аналитическая часть………………………………..……………..8
1.1 Двоично-десятичное кодирование………………………....8
1.2 Арифметические действия над ДД-кодами…………….....9
1.3 Стандарты кодировки текстов……………………………..13
2 Описание программы-эмулятора…………………………………18
3. Практическая разработка………………………………………..21
3.1 Описание алгоритма…………………………………….....21
3.2 Листинг программы………………………………………..23
3.3 Блок схема………………………………………………….25
4.Описание использованных средств вычислительной техники..28
Вывод………………………………………………………………………….29
Список использованной литературы………………………………………..31
Минобрнауки
______________________________
ФГБОУ
высшего профессионального образования
«Санкт-Петербургский государственный технологический институт
(технический университет)»
______________________________
Кафедра систем автоматизированного проектирования и управления
Направление подготовки: 230100 – Информатика и вычислительная техника
Уровень подготовки: бакалавр техники и технологии
Учебная дисциплина: Организация ЭВМ и периферийные устройства
Курс: 2
Группа: 4392
Пояснительная записка к курсовому проекту на тему:
«Разработка программ преобразования форматов двоичных данных и
сортировок в машинных кодах микро-ЭВМ СМ-1800 с помощью эмулятора на ПК»
Вариант № 3
Студент Викторов Н.В.
Руководитель Песков И.А.
Рекомендуемая оценка
Санкт-Петербург
2015
ЗАДАНИЕ
на курсовое проектирование по дисциплине: “ Организация ЭВМ и периферийные устройства”
Студенту: Викторову Н.В. группы:4392
Форма обучения: заочная
Факультет: Информатики и управления
Кафедра: Систем автоматизированного проектирования и управления
Направление подготовки: 230100 – Информатика и вычислительная техника
Уровень подготовки: бакалавр техники и технологии_
Тема: Разработка программ преобразования форматов двоичных данных и сортировок вмашинных кодах микро-ЭВМ СМ-1800 с помощью эмулятора на ПК
Исходные данные к работе:
1. Лекции по дисциплине “Организация ЭВМ и систем”. Фамилия И.О. лектора Гиляров В.Н.
2. МикроЭВМ СМ-1800 и её эмулятор на ПК: Методические указания.- СПб: СПбГТИ(ТУ), 2006.-21с.
3. Стандартное программное обеспечение. Монитор: Методические указания- СПб:СПбГТИ(ТУ), 2006.-23с.
4. МикроЭВМ СМ-1800. Архитектура, программирование, применение / А.В. Гиглавный,Н.Д. Кобанов, Н.Л. Прохоров, А.Н. Шкамарда. – М: Финансы и статистика, 1984.
5. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем: Учебник для вузов. –СПб:Питер,2004. -668с.
Перечень подлежащих разработке вопросов, документов:
1. Обзор литературы
с целью углубленного изучения
раздела по индивидуальному
2. Составление реферативной
части проекта с
3. Разработка алгоритма решения задачи.
4. Распределение памяти (назначение регистров и ячеек памяти).
5. Написание ассемблерного текста программной реализации алгоритма.
6. «Ручная» трансляция ассемблера в машинный код по таблицам.
7. Отладка программы на эмуляторе.
8. Получение и
фиксация результатов на
Перечень графического материала:
1. Алгоритм (блок-схема)
программы преобразования
2. Блок-схемы отдельных процедур (подпрограмм), если таковые имеются.
Виды и объемы работы, выполняемые с использованием ЭВМ и САПР:
1. Разработка программного продукта в среде эмулятора микроЭВМ СМ-1800;
2. Оформление пояснительной записки с помощью Microsoft Word.
Дата выдачи задания:
Дата представления работы к защите:
Руководитель
курсового проектирования________________
(подпись, дата) (ФИО)
Задание принял
к исполнению ____________________________ ____Викторов Н.В.
(подпись, дата)(ФИО)
ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ № 3
к курсовому проекту «Организация ЭВМ и систем»
1. Подготовить для
аналитической части
«Двоично-десятичное кодирование. Арифметические действия над ДД-кодами. Стандарты кодирования текстов». Числа для примеров в Обзоре взять из второго пункта настоящего Задания.
2. Задача для
разработки алгоритма и
Пользуясь программой-монитором, занести в память ЭВМ, начиная с адреса 500016, следующий массив из 10 восьмиразрядных констант:
Адрес 16 |
Константа 16 |
Адрес 16 |
Константа 16 |
5000 5002 5004 5006 5008 |
33 38 39 37 31 32 30 30 34 35 |
500А 500С 500Е 5010 5012 |
33 30 31 34 39 39 30 37 36 31 |
Будем рассматривать эти коды как массив однобайтных целых положительных чисел без знака.
Составить программу, которая исходный массив чисел (с адреса 500016) преобразует в массив соответствующих двухбайтных двоично-десатичных кодов с адреса 510016 (510016 – младшая цифра числа, 510116 – старшая цифра и т.д.)
Программу располагать в памяти с ячейки 400016.
С О Д Е Р Ж А Н И Е
Введение…………………………………………………………
1 Аналитическая часть………………………………..……………..8
1.1 Двоично-десятичное кодирование………………………....8
1.2 Арифметические действия над ДД-кодами…………….....9
1.3 Стандарты кодировки текстов……………………………..13
2 Описание программы-эмулятора……
3. Практическая разработка………………………………………..21
3.1 Описание алгоритма…………………………………….....21
3.2 Листинг программы………………………………………..23
3.3 Блок схема………………………………………………….25
4.Описание использованных средств вычислительной техники..28
Вывод…………………………………………………………………
Список использованной литературы………………………………………..31
Введение
Данный курсовой проект состоит из двух частей: аналитической и практической. В первой необходимо подготовить теоретический материал на тему: «Двоичная, восьмеричная и шестнадцатеричная системы счисления. Правила переводов десятичных чисел в них и обратно. Форматы хранения чисел с плавающей точкой». Практическая часть заключается в разработке алгоритма и программной реализации на эмуляторе микро-ЭВМ СМ-1800 задачи по преобразованию массива констант в формат числа с плавающей точкой. Заданные значение констант:
Адрес 16 |
Константа 16 |
Адрес 16 |
Константа 16 |
5000 5002 5004 5006 5008 |
33 38 39 37 31 32 30 30 34 35 |
500А 500С 500Е 5010 5012 |
33 30 31 34 39 39 30 37 36 31 |
Будем рассматривать
эти коды как массив кодов КОИ-7, только
что введенных с клавиатуры двузначных
десятичных чисел (например, 33 38-это число
3810).Составить программу, формирования
массива целых положительных однобайтных
двоичных чисел без знака, соответствующих
исходному массиву символов (с адреса
500016). Результирующий массив записать
с адреса 600016. Программу располагать в
памяти с ячейки 400016.
1.1 Двоично-десятичное
79
72
S |
0000000 |
d17d16d15d14d13d12d11d10d9d8d7 |
Целые двоично-десятичные числа записываются в плотно упакованном двоично-десятичном (ДД) коде, в котором под каждую цифру d0 - d17 отводится четыре двоичных разряда. В памяти ДД-числа располагаются, начиная с младших разрядов и занимают десять байт. Старший байт используется только под знак числа, который расположен в разряде 79, а остальные разряды старшего байта 78-72 содержат нули.
Полный диапазон двоично-десятичных чисел представлен в таблице ниже:
Наименование числа |
Знак S |
Биты 78-72 |
Значащие числа d17d16…….d0 |
Положительное двоично-десятичное |
0 |
0000000 ……….. 0000000 |
10011001…1001 ………………… 00000000…0000 |
Нуль |
0 1 |
0000000 0000000 |
00000000…0000 00000000…0000 |
Отрицательное двоично-десятичное |
1 |
0000000 ……….. 0000000 |
00000000…0000 …………………. 10011001…1001 |
Неопределенность |
1 |
1111111 |
1111111U..UUUU |
1.2 Арифметические действия над ДД-кодами:
Операции двоично-десятичной арифметики выполняются в два этапа:
- двоично-десятичные
числа обрабатываются как
- выполняется
коррекция результата с целью
получения двоично-десятичного
5
Сложение:
Х=35=00110101
У=68=01101000
0110
Операция сложения выполняется в два этапа: сложение и коррекция. После сложения в тетрадах может оказаться недопустимая комбинация или из тетрады может возникнуть перенос. Алгоритм коррекции состоит из двух шагов:
Если AF=1 или младшая тетрада меньше 9, но больше 15, то к ней прибавляется код 6.Возникающий перенос прибавляется к старшей тетраде.
Если CF=1 или старшая тетрада содержит недопустимую комбинацию, то к результирующему байту прибавляется код 60h.
Выше приведен пример сложения двух чисел представленных двоично-десятичном формате.
Вычитание:
Данная операция так же выполняется в два этапа: вычитание и коррекция, обусловленная возможностью заёма при вычитании или получения недопустимых значений результата.
Эта коррекция тоже состоит из двух частей:
Ниже представлен пример вычитания двух двоично-десятичных чисел. Как показано, получить результат операции можно двумя способами. В первом случае, к текущему результату прибавляется код 66h, и результат такого сложения переводится в обратный код. Во втором случае начала имеет место перевод в обратный код текущего результата, а затем прибавление к нему кода ААh.
У=68=01101000
-У= -68=10011000
00110101
+
10011000
11001101 AF=1 CF=0
+
1010
11000111 AF=1