Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка.doc
Скачиваний:
18
Добавлен:
16.04.2015
Размер:
188.42 Кб
Скачать

15

Содержание.

Введение.................................................................................................................................2

  1. Аналитическая часть...............................................................................................3

  2. Практическая разработка........................................................................................6

    1. Блок-схема алгоритма с поясняющим текстом..............................................6

    2. Распределение памяти и листинг программы с комментарием..................10

    3. Результаты тестирования программы............................................................12

  3. Описание использованных при проектировании средств вычислительной техники.....................................................................................................................13

Выводы...................................................................................................................................14

Литература.............................................................................................................................15

Введение.

Задача для разработки алгоритма и программной реализации на Эмуляторе микро-ЭВМ СМ-1800.

Пользуясь программой-монитором, занести в память ЭВМ, начиная с адреса 500016, следующий массив из 10 восьмиразрядных констант:

Адрес16

Константа16

Адрес16

Константа16

5000

5001

5002

5003

5004

09

FF

7D

AC

19

5005

5006

5007

5008

5009

88

4D

FA

36

00

Будем рассматривать их как массив однобайтных целых чисел со знаком в прямом коде.

Составить программу, которая выбирает из исходного массива (с адреса 500016), отрицательные числа и преобразует их в массив кодов КОИ-7 шестнадцатеричных цифр, записывая с адреса 600016. (600016 – символ старшей шестнадцатеричной цифры 1-го числа, 600116 – символ младшей шестнадцатеричной цифры 1-го числа

и т.д.).

Программу располагать в памяти с ячейки 400016.

1.Аналитическая часть.

Двоично-десятичное кодирование.

Наряду с двоичными кодами, которыми оперирует ЭВМ, для ввода и вывода десятичных чисел (данных) используют специальное двоично-десятичное кодирование. При двоично-десятичном кодировании каждая десятичная цифра заменяется тетрадой (четверкой) двоичных цифр, а сами тетрады записываются последовательно в соответствии с порядком следования десятичных цифр. При обратном преобразовании двоично-десятичного кода в десятичный исходный код разбивается на тетрады вправо и влево от запятой, которые затем заменяются десятичными цифрами.

Таким образом, при двоично-десятичном кодировании фактически не производится перевод числа в новую систему счисления, а мы имеем дело с двоично-кодированной десятичной системой счисления.

Например, десятичное число 15(10)= 1111(2)= 0001 01012-10.

Арифметические действия над ДД-кодами.

Приведем один из алгоритмов сложения, который получил довольно широкое распространение.

  1. Сложение чисел начинается с младших цифр (тетрад) и производится с учетом возникающих переносов из младших разрядов в старшие.

  2. Вычитание мы заменяем сложением, причём число, которое мы вычитаем, нужно перевести в прямой, обратный и дополнительный коды.

Час я приведу примеры сложения и вычитания ДД-кодов, взятых из задания к своему курсовому проекту.

Произвести сложение А=0716 и В=2216.

А2-10 0000 0111

+

B2-10 0010 0010

С2-10 0010 1001

Теперь вычтем, например, из А=8516 В=2216.

2216=0010 00102-10. Переведем это число в прямой, в обратный, затем в дополнительный коды. Получим число -2216=1110 11102-10=B'

Нужно сложить A и B’.

А2-10 1000 0101

+

B’2-10 1110 1110

С 2-10 0110 0011

Должно получиться число С16=63. Так и есть, младшая тетрада – это 3, а старшая – это 6.

Стандарты кодирования текстов.

Для компьютерного представления текста необходимо каждому знаку присвоить некоторое число — его код. Все современные таблицы кодировок происходят от возникшей еще в 60-е годы 7-разрядной таблицы ASCII (American Standard Code for Information Interchange), которая содержит 33 кода команд или управляющих символов, большая часть которых сегодня не используется, и 95 кодов для различных знаков, достаточных для работы с английскими текстами. При 7-разрядном кодировании каждому символу сопоставляется 7 бит, то есть число в диапазоне от 0 до 127. В простых текстовых (plain text) файлах допустимы только управляющие символы, отмечающие концы строк и переходы на позиции табуляции. Скажем, маркер конца строки в Linux — это код 10, в Macintosh OS — 13, в CP/M, DOS и Microsoft Windows — последовательность кодов 13, 10.

Для аналогичного представления знаков русского алфавита ныне применяется таблица КОИ-7 (Код для Обмена Информацией 7-битный. У такого кодирования есть два важных преимущества: оно компактно (для доступа к латинским и другим буквам и возврата обратно к кириллице используются специальные управляющие коды) и вводит естественную транслитерацию, что позволяет работать с текстами на русском единообразно в разных компьютерных системах. Со временем такая кодовая таблица оказалась недостаточной для широкого использования из-за отсутствия в ее составе кодов символов русского алфавита (кириллицы) и псевдографики (символов, позволяющих строить примитивные графические изображения на текстовом экране). Возникли новые модификации кода КОИ-7 ,так называемые таблицы КОИ-7 Н1, КОИ-7 НПО, КОИ-7 НАП и КОИ-7 НПП, которые, в свою очередь, не полностью решили возникшие проблемы. 

Все это привело к появлению нового кодового стандарта, так называемого кода КОИ-8. При этом способе кодирования для представления символа используется 8 бит информации, что дает возможность в рамках одной кодовой таблицы использовать 256 (28) символов. Первая половина таблицы полностью совпадает с кодовой таблицей КОИ-7 НО, вторая половина таблицы, содержащая символы большой и малой кириллицы, практически повторяет кодовую таблицу КОИ-7 Н1, но значения кодов символов кириллицы увеличены на 128. Такое построение таблицы обусловлено желанием сохранить совместимость между этими двумя стандартами. В этой таблице, в отличие от предыдущей, представлена шестнадцатеричная кодировка.

ASCII-коды все еще довольно широко используются для текстов на английском, особенно в США, а также в системах e-mail. Стандартные текстовые утилиты UNIX (grep, sed, awk) вплоть до середины 90-х по умолчанию могли работать только с ASCII — подключение 8-го бита требовало их перекомпиляции. Сегодня 7-битная кириллица встречается, пожалуй, только в системе для подготовки научных публикаций TEX, да и то неявно, а для кодирования символов алфавитов большинства языков используется 8-разрядное кодирование, при котором каждому символу сопоставляется 8 бит или 1 байт кода. Код представляет собой число в диапазоне от 0 до 255, а первые 128 символов при таком кодировании аналогичны ASCII.

Существует пять признанных во всем мире таблиц кодировки русских букв:

  • ISO 8859-5 — стандарт международной организации по стандартизации для кириллицы, в РФ используется редко. Базируется на основной кодировке ГОСТ. Псевдографика отсутствует.

  • Кодовая страница (code page, CP) 866 основана на альтернативной кодировке ГОСТ. Она создана специально для ОС MS-DOS, в которой часто используются символы псевдографики. Практически вытеснена следующей таблицей.

  • Кодовая страница 1251 для Microsoft Windows стала популярной благодаря огромному влиянию фирмы Microsoft на рынок компьютерных технологий. Кроме того, в ней отсутствует ненужная в графических средах поддержка символов псевдографики и гораздо полнее, чем в других кодировках, представлены такие символы, как ©, ®, №, различные виды кавычек, тире и т. п.

  • На базе ГОСТ КОИ-8 сделана koi8-r (кодовая страница 878) — применяется в мире Linux. В ней естественным образом обеспечивается связь с 7-разрядным кодированием: отбрасыванием восьмого бита из кода буквы русского алфавита koi8-r получается код той же буквы в КОИ-7. Кодировка поддерживает символы псевдографики, занимающие около половины всех кодов. В 1993 году стандартизирована в Интернете, а в начале XXI века появились ее модификации koi8-u и koi8-ub — с дополнениями до украинского и затем, соответственно, до белорусского. В koi8-ub вместо символов псевдографики включаются знаки разнообразных кавычек и тире, №, евро, иены и т. п. Эта кодировка находится на начальной стадии внедрения, и ее перспективы пока туманны.

  • Кодовая страница 10007 — используется на компьютерах Macintosh, по своему набору знаков почти совпадает с CP1251.

2. Практическая разработка.