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

13

Министерство высшего образования Российской Федерации

Санкт-Петербургский государственный технологический институт

(технический университет)

Кафедра САПРиУ

Пояснительная записка

к курсовому проекту на тему:

«Разработка программ преобразования форматов двоичных данных

и сортировок в машинных кодах микро-ЭВМ СМ-1800

с помощью эмулятора на ПК»

Выполнил: студент гр.№843 –

Мубаракшин Ильдар Ахтямович.

Руководитель: Гиляров Владимир Николаевич

Санкт-Петербург

2005

Содержание:

1. Введение …………………………………………………………………………..5

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

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

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

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

2. Описание программы – эмулятора, выбранной для решения задач………..…..8

Принцип работы эмулятора………………………………………………...…… 8

Определение приоритета предоставляемых моделей.………………………….10

3. Практическая разработка………………………………………………………….12

3.1 Блок-схема……………………………………………………………………...12

3.2 Листинг программы……………………………………………………………13

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

техники…………………………………………………………………………….15

5. Выводы……………………………………………………………………………..16

6 Литература…………………………………………………………………………17

Введение

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

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

Адрес16

Константа16

Адрес16

Константа16

5000

5001

5002

5003

5004

85

00

8D

07

80

5005

5006

5007

5008

5009

22

D4

A9

FF

A0

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

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

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

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

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

Поскольку человеку наиболее привычна арифметика в десятичной системе счисления, а для компьютера - двоичная арифметика, была введена компромиссная система двоично-десятичной записи чисел. Такая система чаще всего применяется там, где существует необходимость частого использования процедуры десятичного ввода-вывода. (электронные часы, калькуляторы и т.д.). В таких устройствах не всегда целесообразно предусматривать универсальный микрокод перевода двоичных чисел в десятичные и обратно по причине небольшого объема программной памяти.

Принцип построения этой системы достаточно прост: каждая десятичная цифра преобразуется прямо в свой десятичный эквивалент из 4 бит, например:

250610=0010 0101 0000 0110DEC:

Десятичное число

2

8

0

6

Двоично-десятичное число     

0010

1000

0000

0110

Преобразуем двоично-десятичное число 0111 0010 0001 1000 в его десятичный эквивалент. Каждая группа из 4 бит преобразуется в её десятичный эквивалент. Получим 0111 0010 0001 1000DEC = 721810:

Двоично-десятичное число     

0111

0011

0001

0101

Десятичное число

7

3

1

5

Микропроцессоры используют чистые двоичные числа, однако понимают и команды преобразования в двоично-десятичную запись. Полученные двоично-десятичные числа легко представимы в десятичной записи, более понятной людям.

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

 Команда:

ADD B

 Назначение:

<A>+<B><A>

 Описание:

Сложение содержимого регистра B с аккумулятором

 Команда:

ADD M

 Назначение:

<A>+<M><A>

 Описание:

Сложение содержимого ячейки памяти с аккумулятором

 Команда:

ADI (B2)

 Назначение:

<A>+<B2><A>

 Описание:

Сложение непосредственных данных (B2) с аккумулятором

 Команда:

ADC B

 Назначение:

<A>+<B>+<CY><A>

 Описание:

Сложение содержимого регистра B с аккумулятором

 Команда:

ACI (B2)

 Назначение:

<A>+<B2>+<CY><A>

 Описание:

Сложение содержимого ячейки памяти с аккумулятором

 Команда:

DAD B

 Назначение:

<BC>+<HL><HL>

 Описание:

Сложение <B,C> с <H,L> (в качестве аккумулятора используется пара <H,L>)

 Команда:

DAD H

 Назначение:

<HL>*2<HL>

 Описание:

Удвоение значения в <H,L>

 Команда:

SUB B

 Назначение:

<A>-<B><A>

 Описание:

Вычитание из аккумулятора содержимого регистра <B>

 Команда:

SUB M

 Назначение:

<A>-<M><A>

 Описание:

Вычитание из аккумулятора содержимого ячейки памяти

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

С целью стандартизации в компьютерах используется американский национальный стандартный код для обмена информацией ASCII (American National Standard Code for Information). Наличие стандартного кода облегчает обмен данными между различными устройствами. Восьмибитовый расширенный ASCII-код обеспечивает представление 256 символов, включая символы для национальных алфавитов.

Системы кодирования текстовых данных были разработаны и в других странах. Так, например, в СССР в этой области действовала система кодирования КОИ-7 (код обмена информацией, семизначный). Однако поддержка производителей оборудования и программ вывела американский код ASCII на уровень международного стандарта, и национальным системам кодирования пришлось "отступить" во вторую, расширенную часть системы кодирования, определяющую значения кодов со 128 до 255. Отсутствие единого стандарта в этой области привело к множественности одновременно действующих кодировок. Только в России можно указать три действующих стандарта кодировки и еще два устаревших.Так, например, кодировка символов русского языка, известная как кодировка Windows-1251, была введена "извне" – компанией Microsoft, но учитывая широкое распространение операционных систем и других продуктов этой компании в России она нашла широкое распространение в России. Эта кодировка используется на большинстве локальных компьютеров, работающих на платформе Windows.

Другая распространенная кодировка носит название КОИ-8 (код обмена информацией, восьмизначный) – ее происхождение относится ко времени действий Совета Экономической Взаимопомощи государств Восточной Европы. Сегодня кодировка КОИ-8 имеет широкое распространение в компьютерных сетях на территории России и в российском секторе Интернета.

Международный стандарт, в котором предусмотрена кодировка символов русского алфавита, носит название ISO (International Standard Organization – Международный институт стандартизации). На практике данная кодировка используется редко.

На компьютерах, работающих под операционной системой MS-DOS, могут действовать еще две кодировки (кодировка ГОСТ и кодировка ГОСТ альтернативная). Первая из них считалась устаревшей даже в первые годы появления персональной вычислительной техники, но вторая используется и по сей день.

В связи с возникшими неудобствами было принято решение на консорциуме фирм создать кодовую таблицу, где будет не только сам символ, но и инструкция по его воспроизведению. Такая таблица получила название Unicode.

Сложение

Данная операция выполняется в два этапа: сложение и коррекция. После сложения в тетрадах может оказаться недопустимая комбинация или может возникнуть перенос. Алгоритм коррекции состоит из двух шагов:

1) Если AC = 1 или младшая тетрада меньше 15, но больше 9, то к ней прибавляется код 6. Возникающий перенос прибавляется к старшей тетраде;

2) Если C = 1 или старшая тетрада содержит недопустимую комбинацию, то к результирующему байту прибавляется код 60h.

Примеры сложения ДД-чисел представлены ниже:

07 0000 0111

22 0010 0010

29 0010 1001

7 9

80 1000 0000

85 1000 0101

165 1000 0101

1100 0000

CY 1 0100 0101

1 6 5

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]