Проектирование специализированного вычислительного устройства

Разработка алгоритма и графа макрооперации, микропрограммы выполнения макрооперации, функциональной электрической схемы специализированного вычислительного устройства. Анализ переполнения разрядной сетки. Применение различных модифицированных кодов.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 21.03.2014
Размер файла 785,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра «РТ и РЭС»

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

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

«Цифровые устройства и микропроцессоры»

на тему «Проектирование специализированного вычислительного устройства»

Выполнил: ст. гр. 09ЕР2

Зубарев А.Н.

Проверил: Колдов А.С.

Пенза 2012

Реферат

Предметом исследования является специализированное вычислительное устройство. Целью работы является расчёт конструкции специализированного вычислительного устройство по заданным техническим требованиям. Результатом расчёта является курсовой проект (37 листа) с 24 иллюстрациями, 6 таблицами, 2 чертежами формата А1.

Содержание

Введение.

1.Разработка СВУ на базе СИС.

1.1 Выбор формата данных.

1.2 Разработка алгоритма и графа макрооперации.

1.3 Разработка микропрограммы выполнения макрооперации.

1.4 Разработка функциональной электрической схемы СВУ и её особенности.

1.5 Выбор элементной базы для СВУ.

1.6 Разработка принципиальной схемы СВУ.

2. Микропроцессорная реализация СВУ.

Литература.

Приложение

Введение

Эффективность применения современных средств вычислительной техники во всех сферах научной и производственной деятельности оказывает решающее влияние на увеличение производительности труда и ускорение научно-технического прогресса.

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

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

Специализированные вычислительные устройства (СВУ) применятся при решении разнообразных задач, связанных с обработкой сигналов в радиотехнических системах. Основными являются задачи обнаружения и поиска сигналов на фоне помех, измерения их информационных параметров.

Из множества частот, составляющих спектр непрерывного сигнала при помощи фильтрации можно усилить, ослабить, исключить или выделить любую частоту или полосу частот.

Непрерывный сигнал всегда можно представить его дискретными значениями с помощью аналого-цифрового преобразователя. После такого преобразования сигнал удобно обрабатывать в каких-либо цифровых вычислительных системах Примером одной из таких систем является цифровой фильтр. Цифровые фильтры могут быть построены на базе микропроцессорного комплекта БИС, либо на микросхемах средней степени интеграции (СИС) К155, К1533, К555 и др. серий.

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

и спроектировав тем или иным способом СВУ, выполняющее эту макрооперацию, получим устройство для обработки цифровых сигналов в соответствии с заданными условиями.

1.Разработка СВУ на базе СИС

1.1 Выбор формата данных

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

-128ЈХЈ127

Для представления таких чисел необходимо восемь разрядов. Старший разряд будет использоваться для представления знака числа, цифровыми являются биты с 0 по 6. Нумерация бит вводится справа налево (рис.1.1.а)

7

6

5

4

3

2

1

0

Рис 1.1.(а)

8

7

6

5

4

3

2

1

0

Рис 1.1.(б)

Ели в знаковом разряде 0 - кодируется положительное число, если 1 - отрицательное число. Все работы ведутся для 8-разрядных чисел. В некоторых случаях для анализа переполнения разрядной сетки для представления чисел используется модифицированный код. В модифицированном коде для представления знака числа используется два разряда (рис.1.1.6).

Если в разрядах - комбинация 00, то это соответствует положительному результату, и переполнения разрядной сетки нет. Если 11 - результат отрицательный, переполнения нет. Комбинация 01 означает положительное переполнение, а комбинация 10 - отрицательное.

1.2 Разработка алгоритма и графа макрооперации

Схема алгоритма работы СВУ представлена на рис 1.2. Если р=1, то СВУ начинает работать, в противном случае СВУ находится в режиме ожидания. Далее осуществляется проверка условия -128ЈХЈ127. Если условие выполнено, то далее следуют операции умножения, сложения, деления, логического сложения, выдача результатов и конец схемы алгоритма. В противном случае необходимо произвести останов СВУ (прерывание) и выйти на конец алгоритма. Потом произвести масштабирование исходных данных и вернуться на начало алгоритма.

Для того чтобы показать информационные связи в алгоритме и наметить перечень функциональных элементов СВУ исходная макрооперация представляется в виде графа алгоритма с операциями деления и умножения на рис.1.3.

Рис.1.2.

Cхема алгоритма работы СВУ

Рис.1.3. Граф алгоритма макрооперации с операциями умножения и деления.

Заменив операции умножения и деления на арифметический сдвиг влево и вправо соответственно, получим граф алгоритма макрооперации изображенной на рис.1.4.

Рис.1.4. Граф алгоритма макрооперации с операциями сдвигов

По виду графа алгоритма составляется упрощённая функциональная схема СВУ (рис.1.5).

Регистры Р1, Р2, РЗ служат для хранения данных A, B, C соответственно, которые представлены в дополнительном коде. Операция сложения осуществляется в сумматоре накапливающего типа.

Рис.1.5. Упрощённая функциональная схема без управляющих сигналов

В накапливающий сумматор входит 8-разрядный комбинационный сумматор и 8-разрядный регистр сумматора (РСМ). Арифметические сдвиги влево и вправо осуществляются в сдвигающем регистре сумматора. Операция логического сложения осуществляется с помощью логического элемента «ИЛИ».

1.3 Разработка микропрограммы выполнения макрооперации

Микропрограмма составляется на конкретную функциональную схему, когда определён перечень регистров, триггеров, сумматоров, логических узлов.

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

Предполагается, что управляющий блок уже спроектирован и выдаёт в определённые моменты времени управляющие сигналы У-(У1,У2,...,Уn).

Анализ переполнения разрядной сетки осуществляется перед левым сдвигом (умножение на 2) и после выполнения алгебраического сложения. Для определения переполнения перед левым сдвигом достаточно проанализировать результат сложения по модулю 2 значений разрядов 7 и 6 того регистра, над содержимым которого производится левый сдвиг. В упрощённой функциональной схеме необходимо поставить узел, реализующий функцию

.

Для проверки переполнения после алгебраического сложения возможны два подхода.

Первый подход: анализ переполнения производится по единице переноса в знаковый разряд и из знакового разряда. Возможны четыре случая, они представлены в таблице 1.1.

Таблица 1.1.

единица переноса

переполнение

из знакового разряда

в знакового разряда

0

0

0

0

1

1

1

0

1

1

1

0

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

алгоритм специализированный вычислительный устройство

Для этой цели в сумматоре и РСМ предусматривается девять разрядов.

Микропрограмма выполнения исходной макрооперации представлена на рис.1.6.

Рис.1.6. Алгоритм выполнения макрооперации

Алгоритм программы

Перечень управляющих сигналов для каждого функционального узла СВУ:

Сигналы управления

Рсм: Y2: Рсм:= Р1

Y3: Рсм:= ARS(Рсм,1)

Y5: Рсм:= ARS(Рсм,1)

Y6: Рсм:= Pсм+P1

Y8: Рсм:= Р2

Y9: Рсм:= ARS(Рсм,2)

Y10: Рсм:= Рсм + Р2

Y11: Рсм:= Рсм + Р2

Y12: Рсм:= Рсм + Р1

Y13: Рсм:= Рсм Р3

Р1: Y4: Р1:= Рсм

Y7: Р1:= Рсм

Сигналы осведомления

Z1 := Р1 [7]Р1 [6]

Z2 := Рсм[7]Рсм[8]

Z3 := Р2 [7]Р2 [6]

Сигналы переполнения

ТП: Y1: ТП:= 0

Y14: ТП:= 1

Расставив управляющие сигналы на упрощённой функциональной схеме СВУ и введя дополнительные логические элементы для получения Z, получаем вариант функциональной схемы, изображённый на рис.1.7.

Рис.1.7. Упрощённая функциональная схема с управляющими сигналами

1.4 Разработка функциональной электрической схемы СВУ

Для получения структурной схемы СВУ расставим управляющие сигналы на упрощенной структурной схеме СВУ и введем дополнительные логические узлы для получения Z1-Z3.

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

Регистры Р1,Р2 и Р3 служат для хранения исходных данных, регистр Рсм выполняет операцию арифметического сдвига вправо, а также хранит промежуточный и окончательный результат. В СВУ используется сумматор накапливающего типа на один вход которого подаются данные с Р1, Р2 и Р3 на другой с Рсм.

Для временного разделения подачи данных с Р1 и Р2 необходимо ввести мультиплексор MS. на структурной схеме это будет выглядеть следующим образом:

С учетом того, что на Рсм поступают данные от сумматора, от регистров Р1 и Р2, а также от схемы сложения по модулю два их также необходимо разделить, для чего опять воспользуемся мультиплексором. Т.к. у нас имеются четыре сигнала, которые необходимо разделить, а мультиплексор рассчитан на 3, сделаем ступенчатое подключение мультиплексоров. В результате получим следующий вариант структурной схемы:

Рис.1.8. Функциональная схема по графу алгоритма

1.5 Выбор элементной базы для СВУ

Для реализации всех элементов СВУ выбраны микросхемы серий К555 и К155. Регистры Р1, Р2, и Р.3 построены на микросхемах К555ИР13. Так как эта микросхема представляет собой восьмиразрядный сдвигающий регистр, то для каждого из регистров Р1, Р2, и РЗ понадобится одна ИМС К555ИР13.

Микросхема ИР13 - это восьмиразрядный синхронный реверсивный регистр сдвига. Цоколевка и условное обозначение приведены на рис.1.9.2.

Синхронную работу регистру обеспечивают входы выбора режима S0 и S1 режим хранения (входы S0= S1=0), параллельной загрузки (входы S0=1, S1=1), сдвиг влево (входы S0=1, S1=0), сдвиг вправо (входы входы S0=0, S1=1).

Кроме параллельных входов D0,…,D7, первый и последний разряды регистра имеют дополнительные входы: DSR - для сдвига вправо, DSL - для сдвига влево. На входы S0,S1 отрицательный перепад можно подавать, когда на входе С действует напряжение высокого уровня.

При параллельной загрузке данные, подготовленные на входах D0,…,D7 появятся на выходах Q0,…,Q7 после прихода очередного положительного перепада тактового импульса на вход С.

Для обнуления регистра (на выходах D0,…,D7 будет низкий уровень) необходимо на синхронный вход сброса . подать низкий уровень напряжения.

Таблица состояний ИР13

Режим работы

Входы

Выходы

C

S0

S1

DSR

DSL

Dn

Q0

Q1,…,Q6

Q7

Cброс

0

x

x

x

x

x

0

0,…,0

0

Хранение

1

0

0

x

x

x

Q0

Q1,…,Q6

Q7

Левый сдвиг

1

1

0

x

0

x

Q1

Q2,…,Q7

0

1

1

0

x

1

x

Q1

Q2,…,Q7

1

Правый сдвиг

1

0

1

0

x

x

0

Q0,…,Q5

Q6

1

0

1

1

x

x

1

Q0,…,Q5

Q6

Параллельная загрузка

1

1

1

1

x

dn

d0

d1,…d6

d7

24 - питание

12 - общий

Рис. 1.9.2. Условное графическое изображение и цоколёвка

Регистр сумматора РСМ построен на одной ИМС К555ИР13, которая представляет собой двухсторонне сдвигающий 8-разрядный регистр. Для построения девятого разряда используем дополнительный регистр К555ИР11.

Микросхема ИР11 - четырех разрядный универсальный регистр сдвига. Цоколевка с УГО изображена на рис. 1.9.0. Он позволяет строго синхронно сдвигать цифровое слово вправо или влево, т.е. двунаправленный регистр. Регистр имеет: входы данных D0,…,D3, прямой динамический тактовый вход С, инверсный вход сброса R входы выбора режимов S0,S1. Выходы Q0,…,Q3. Кроме параллельных входов D0,…,D3, первый и последний разряды регистра имеют дополнительные входы: DSR - для сдвига вправо, DSL - для сдвига влево.

Если на входы выбора S0,S1 поданы напряжения низкого уровня, то код регистра сохраняется (режим хранения).

Когда на входы S0,S1 поданы напряжения высокого уровня, то данные от входов D0,…,D3 параллельно загружаются в регистр, а при очередном положительном перепаде (фронте) тактового импульса, поданном на вход С, появляются на выходах Q0,…,Q3 регистра.

Если на входе S0 действует напряжение высокого уровня, а на входе S1 низкого уровня, то код, поступающий на вход последовательных данных DSR сдвигается по регистру вправо от Q0 к Q3 при поступлении положительного перепада тактового импульса на вход С.

При S0=0, S2=1 код принимается последовательным входом DSL и сдвигается влево от Q3 к Q0 при каждом положительном перепаде импульсов, поступающих на вход С.

Если на вход сброса подать напряжение низкого уровня. то происходит сброс данных (обнуление) и на выходах Q0,…,Q3 появится напряжение низкого уровня.

Когда на вход подано напряжение высокого уровня то возможны различные режимы: загрузки, хранения, сдвига влево или вправо.

Таблица состояний ИР11

Режим

работы

Входы

Выходы

C

S0

S1

DSR

DSL

Dn

Q0

Q1

Q2

Q3

Cброс

0

x

x

x

x

x

0

0

0

0

Хранение

1

0

0

x

x

x

Q0

Q1

Q2

Q3

Левый сдвиг

1

1

0

x

0

x

Q1

Q2

Q3

0

1

1

0

x

1

x

Q1

Q2

Q3

1

Правый сдвиг

1

0

1

0

x

x

0

Q0

Q1

Q2

1

0

1

1

x

x

1

Q0

Q1

Q2

Параллельная загрузка

1

1

1

1

x

dn

d0

d1

d2

d3

16 - питание

8 - общий

Рис. 1.91. Условное графическое обозначение ИР11

В качестве 9 разрядного сумматора необходимо использовать два сумматора К155ИМ3 и один К155ИМ2.

Микросхема ИМЗ - это четырехразрядный быстродействующий двоичный полный сумматор. Цоколевка приведена на рис. 1.9.3. Он принимает два четырехразрядных слова по входам данных АО,…,А3 и ВО,…,В3, а по входу Сn сигнал переноса. Сумма разрядов входных слов появляется на выходах 0….3. На выходе Сn+1 выделяется сигнал переноса. Имеется схема ускоренного переноса (СУП). Сумматор может работать со словами как положительной, так и отрицательной логики.

Суммирование происходит по уравнению:

Таблица суммирования чисел ИМ3

Данные на входе

Сn

А0

А1

А2

А3

В0

В1

В2

В3

0

1

2

3

Сn+1

Результат

Электрические уровни

0

0

1

0

1

1

0

0

1

1

1

0

0

1

Активный уровень 1

0

0

1

0

1

1

0

0

1

1

1

0

0

1

19

Активный уровень 0

1

1

0

1

0

0

1

1

0

0

0

1

1

0

12

Микросхема ИМ2 - двухразрядный полный сумматор. Состояния сумматора приведены в таблице, где 0 отображает сумму младших разрядов АО и ВО, а 1 - старших разрядов А1 и В1.

Таблица состояний сумматора ИМ2

Входы

Выходы

А0

В0

А1

В1

Cn=0

Cn=1

0

1

Cn+1

0

1

Cn+1

0

0

0

0

0

0

0

1

0

0

1

0

0

0

1

0

0

0

1

0

0

1

0

0

1

0

0

0

1

0

1

1

0

0

0

1

0

1

1

0

0

0

1

0

0

1

0

1

1

0

1

0

1

0

1

1

0

0

0

1

0

1

1

0

1

1

0

0

0

1

1

1

1

0

0

0

1

1

0

1

0

0

0

1

0

1

0

1

1

0

1

0

0

1

1

1

0

0

0

1

0

1

0

1

1

1

0

0

0

1

1

1

0

1

0

0

1

1

0

1

0

0

1

1

0

0

1

1

0

1

1

0

1

1

1

0

1

0

1

1

0

1

1

1

1

0

1

0

1

1

1

1

1

1

0

1

1

1

1

1

Рис. 1.9.3. Условное графическое обозначение:

А - сумматора ИМ2

В - сумматора ИМ3

Мультиплексор МS построен на 2-х ИМС К555КП13.

Микросхема КП13 - это четыре двухвходовых селектора-мультиплексора, имеющие общий адресный вход выбора S, и чеырёхразрядный регистр хранения информации при разрешении записи, запускаемого отрицательным перепадом (спадом) тактового импульса. Цоколевка и условное обозначение приведены на рис. 1.9.4. Каждый из мультиплексоров имеет по четыре информационных входа IA1 ,…,IA4 и IB1 ,…,IB4 и вход разрешения S с активным низким уровнем напряжения, выход прямой Qn. Входы разрешения можно независимо использовать для стробирования выходов:

- если на вход S подать напряжение высокого уровня, то выбираются входы данных IB1 ,…,IB4 с отрицательным перепадом тактового импульса.

- если на вход S подать напряжение низкого уровня, то выбираются входы данных IA1 ,…,IA4 с отрицательным перепадом тактового импульса.

Таблица состояний мультиплексора КП13

Режим работы

Входы

Выход Qn

S

I1

I2

Загрузка от входа I1

0

0

0

0

1

1

Загрузка от входа I2

1

0

0

1

1

1

16 - питание

8 - общий

Рис. 1.9.4. Условное графическое обозначение КП13

Комбинационная схема «ИЛИ» строится на двух ИМС К555ЛЕ2, которые содержат по четыре элемента «ИЛИ».

1.6 Разработка принципиальной схемы СВУ

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

Для перехода от функциональной к принципиальной схеме необходимо на условных графических обозначениях (УГО) элементов ввести номера выводов а также показать как осуществляется синхронизация, сброс, питание.

2. Микропроцессорная реализация СВУ

Микропроцессорная реализация СВУ заключается в составлении программы выполнения заданной макрооперации на определённом языке программирования в системе команд имеющейся ЭВМ. В данном случае осуществлена реализация СВУ на языке Ассемблер в системе команд процессора 8086.

Программа составляется на основе разработанной микропрограммы и алгоритма работы СВУ.

Текст программы представлен в приложении.

Описание программы

Данная программа выполняет вычисление макрооперации

Числа A, B, D вводятся с клавиатуры и хранятся в двоичном коде. Далее между числами производятся арифметические и логические операции. Результат работы программы выводится в двоичном коде. При возникновении переполнения выдаётся соответствующее сообщение.

Литература

1. Стрыгин В.В., Щарев Л.С. Основы вычислительной, микропроцессорной техники и программирования. - М.:Высшая школа, 1989 г.

2. Пальчёнков Ю.Д. Цифровые устройства и микропроцессоры. Проектирование специализированного вычислительного устройства. Учебное пособие. - Пенза: ПГТУ, 1997 г.

3. Александров К.К., Кузьмина Е.Г. Электротехнические чертежи и схемы. - М. :Энергоатомиздат, 1990 г.

4. Применение интегральных микросхем в электронной вычислительной технике: Справочник/. Р.В.Данилов, С.А.Ельцова, Ю.П.Иванов и др.; Под ред. Б.Н.Файзулаева, Б.в.Тарабрина. М., 1987 г.

5. Шилейрсо А.В., Шилейко Т.И. Микропроцессоры. М., 1986г.

Приложение

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

title Kursovoi ;работа с числами в дополнительном коде

cseg segment'code'

assume cs:cseg,ds:cseg,ss:cseg,es:cseg

org 100h

begin: jmp START

inputa db 'Enter a in binary code a=','$'

inputb db 'Enter b in binary code b=','$'

inputc db 'Enter c in binary code d=','$'

string db ' ',10,13,'$'

mess1 db 'Calculation (8a+2b)/4 or d ',10,13,'$';

mess2 db ' (8a+2b)/4 or d =','$'

mess3 db ' (8a+2b)/ =','$'

mess_overofa db 'Overflowing of A',10,13,'$'

mess_overofb db 'Overflowing of B',10,13,'$'

mess_overofsumma db 'Overflowing of summa',10,13,'$'

res db ?

a db ?

b db ?

d db ?

prom db ?

;

START proc

mov ax,0600h ;установить атрибуты

mov bh,70H ;с верхнего левого угла экрана

mov cx,00 ;по правый нижний угол экрана

mov dx,184Fh ;работа с регистрами палитры

int 10h

mov ah,02h ;установка курсора

mov bh,00h ;в точку с координатами:

mov dh,05 ;по вертикали - 5,

mov dl,15 ;по горизонтали - 15

int 10h

;-------------Выдача начального сообщения-------------

mov ah,09h ;вывод строки mess1

lea dx,mess1 ;на экран

int 21h

call PEREHOD

NA:

;---------------Ввод a и вычисление 8a----------------

jmp MA

LA:

call PEREHOD

mov ah,09h ;вывод строки mess_overofa

lea dx,mess_overofa ;на экран

int 21h

call PEREHOD

MA:

mov ah,09h ;вывод строки input a

lea dx,inputa ;на экран

int 21h

call INPUT ;число a записывается bl

mov a,bl ;запись a в ячейку памяти"a"

xor ax,ax ;обнуление регистра АХ

mov al,b ;вычисление 8a и помещение в a

sal al,1

sal al,1

sal al,1

mov a,al

call ANALYS

cmp ax,1b

je LA

;---------------Ввод a и вычисление 2b----------------

jmp MB

LB:

call PEREHOD

mov ah,09h ;вывод строки mess_overofb

lea dx,mess_overofb ;на экран

int 21h

call PEREHOD

MB:

mov ah,09h ;вывод строки input a

lea dx,inputa ;на экран

int 21h

call INPUT ;число c записывается bl

mov b,bl ;запись c в ячейку памяти"b"

xor ax,ax ;обнуление регистра АХ

mov al,b ;вычисление 2b и помещение в b

sal al,1

mov b,al

call ANALYS

cmp ax,1b

je LB

;----------Вычисление и вывод на экран (8a+2b)/4-----------

mov cl,a ;помещение 7a в регистр cl

mov bl,b ;помещение 2b в регистр bl

add bl,cl ;

sar al,2

jmp MS

LS:

call PEREHOD

mov ah,09h ;вывод строки mess_overofsumma

lea dx,mess_overofsumma

int 21h

call PEREHOD

jmp NA

MS:

call ANALYS

cmp ax,1b

je LS

call PEREHOD

mov ah,09h ;вывод строки mess3

lea dx,mess3

int 21h

call OUTPUT ;вывод на экран (8a+2b)/4

mov prom,bl ;запись (7a+2b)/8 в ячейку "prom"

call PEREHOD

;----------------------Ввод d--------------------------

call PEREHOD

mov ah,09h ;вывод строки input d

lea dx,inputc

int 21h

call INPUT ;ввод d

mov d,bl

;---------Логическое сложение d и ((8a+2b)/4)-----------

;------------и вывод конечного результата--------------

mov bh,prom ;в bl находится d, в bh ((8a+2b)/4)

or bl,bh ;логическое сложение d и ((8a+2b)/4)

mov res,bl ;запись результата в ячейку"res"

call PEREHOD

mov ah,09h ;вывод строки mess2

lea dx,mess2

int 21h

call OUTPUT

call PEREHOD

;------------------Выход из программы----------------

mov ah,0 ;ожидание нажатие любой клавиши

int 16h

mov ax,4c00h

int 21h

mov ah,4ch ;выход в DOS

int 21h

START endp

;--------Процедура последовательного ввода---------

;-----------8-разрядного двоичного числа-----------

INPUT proc

push dx

xor bl,bl

xor al,al

mov cx,7d ;организация цикла

L:

xor ax,ax

mov ah,07h ;ввод символа текущего разряда

;нефильтрованный ввод без эха

;введенный символ находися в al

int 21h

cmp al,30h ;исключение задания

jb L ;некорректных значений

cmp al,31h

jg L

mov ah,02h ;вывод на экран цифры текущего разряда

mov dl,al ;если введены 0 или 1

int 21h

sub al,30h ;добавление введенной цифры к bl

add bl,al

shl bl,1 ;левый сдвиг bl на 1

;“вдвигают ” нули в операнд (регистр)

;при этом биты с другого конца “выдвигаются”.

xor ax,ax

loop L

;заполнение нулевого разряда

L1:

mov ah,07h

int 21h

cmp al,30h

jb L1

cmp al,31h

jg L1

mov ah,02h

mov dl,al

int 21h

sub al,30h

add bl,al

mov ah,09h ;переход на следующую строку

lea dx,string

int 21h

pop dx

ret

INPUT endp

;------Процедура вывода на экран 8-разрядного-------

;----------------двоичного числа--------------------

OUTPUT proc

mov bh,bl

mov dh,0

mov cx,0

mov cl,08h

P:

mov al,bl

and al,80h ;проверка старшего разряда al

sar al,7d ;правый сдвиг на 7 разрядов

and al,01h ;обнуление 7 старших разрядов

mov res,al

mov dl,res

add dl,30h ;преобразование цифры в ASCII-код

mov ah,02h ;вывод цифры

int 21h

shl bl,1

loop P

mov bl,bh

ret

OUTPUT endp

;---------Процедура анализа на переполнение---------

ANALYS proc

Pushf ;помещает содержимое регистра в вершину стека.

;Применяется для передачи параметров в процедуру,

;для временного сохранения данных.

Pushf

pop ax ;помещает верхний элемент из стека в регистр.

;Применяется для возвращения значения,

;помещенного в стек командой PUSH.

;флаг переполнения равен 1

;если после операции над числами со знаком

; результат превышает допустимое значение

mov cl,11d

shr ax,11

and ax,1b ;Команда выполняет побитовое «логическое И»

popf ;извлекают из стека содержимое и

;помещают его во флаговый регистр

ret

ANALYS endp

;-----Процедура перехода на следующую строку------

PEREHOD proc

mov ah,09h ;переход на следующую строку

lea dx,string

int 21h

ret

PEREHOD endp

cseg ends

end begin

Размещено на Allbest.ru


Подобные документы

  • Выбор формата данных. Разработка алгоритма и графа макрооперации. Разработка функциональной электрической схемы и её особенности. Выбор элементной базы. Разработка принципиальной схемы. Микропроцессорная реализация устройства на языке Ассемблер.

    курсовая работа [955,0 K], добавлен 04.05.2014

  • Проектирование и синтезирование комбинационной схемы и счетчика с коэффициентом пересчета на D-тригерах. Синтезирование вычислительного устройства для реализации алгоритма вычислений на дискретных элементах. Проектирование и синтезирование автомата Мили.

    курсовая работа [829,7 K], добавлен 21.03.2010

  • Основные этапы проектирования контрольной аппаратуры. Анализ цифрового вычислительного комплекса. Разработка устройства контроля ячеек постоянного запоминающего устройства с использованием ЭВМ. Описание функциональной схемы устройства сопряжения.

    дипломная работа [1,9 M], добавлен 24.09.2012

  • Разработка функциональной схемы устройства, осуществляющего обработку входных сигналов в соответствии с заданным математическим выражением зависимости выходного сигнала от двух входных сигналов. Расчет электрических схем вычислительного устройства.

    курсовая работа [467,5 K], добавлен 15.08.2012

  • Описание функциональной схемы цифрового устройства для реализации микроопераций. Выбор элементной базы для построения принципиальной электрической схемы цифрового устройства. Разработка и описание алгоритма умножения, сложения, логической операции.

    курсовая работа [684,0 K], добавлен 28.05.2013

  • Проектирование устройства преобразования последовательного кода в параллельный и наоборот. Общая схема алгоритма функционирования устройства, разработка принципиальной электрической схемы. Схема сброса по питанию, генератор импульсов, триггер готовности.

    курсовая работа [1,2 M], добавлен 14.07.2012

  • Конструкторско-технологический анализ элементной базы функциональной ячейки вычислительного модуля. Выбор компоновочной схемы. Расчет площади печатной платы, определение вибропрочности конструкции. Технологический процесс сборки и монтажа ячейки модуля.

    дипломная работа [2,8 M], добавлен 29.11.2014

  • Разработка и описание алгоритма функционирования устройства, отладка рабочей программы на языке команд микропроцессора. Обоснование аппаратной части устройства. Составление электрической принципиальной схемы устройства, расчет быстродействия устройства.

    курсовая работа [50,2 K], добавлен 03.12.2010

  • Решение задач на построение функциональной схемы трехразрядного накапливающего сумматора с параллельным переносом, используя одноразрядные полные сумматоры. Построение схемы электрической принципиальной управляющего автомата Мили для микропрограммы.

    контрольная работа [51,1 K], добавлен 07.01.2011

  • Разработка вычислительного устройства из двух взаимосвязанных частей (операционного и управляющего автоматов), выполняющего операции десятичной арифметики. Разработка структурной схемы. Блоки суммы и разности, умножений и делений, управляющий блок.

    курсовая работа [1,3 M], добавлен 26.05.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.