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

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

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

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

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

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

Введение

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

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

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

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

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

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

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

Z=((6A+2D)/8)vB

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

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.(б)).

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

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

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

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

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

2 2 8

2

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

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

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

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

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

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

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

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

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

Предполагается, что управляющий блок уже спроектирован и выдаёт в определённые моменты времени управляющие сигналы Y-(Y1,Y2,...,Yn).

Анализ переполнения разрядной сетки осуществляется перед левым сдвигом (умножение на 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: Рсм:= ALS(Рсм,1)

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

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

Y7: Рсм:= Р2

Y8: Рсм:= ALS(Рсм,1)

Y9: Рсм:= Рсм + Р1

Y10: Рсм:= ALS(Рсм,4)

Y11: Рсм:=РсмvР3

Р1: Y6: Р1:= Рсм

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

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

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

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

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

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

ТП: Y1: ТП:= 0

Y12: ТП:= 1

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

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

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

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

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

Регистры Р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=0, S1=1), сдвиг вправо (входы входы S0=1, S1=0). Кроме параллельных входов 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

В качестве девятиразрядного сумматора необходимо использовать два сумматора К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 отображает сумму младших разрядов А0 и В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

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

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

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

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

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

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

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

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

Z=((6A+2B)/8)vC

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

данные алгоритм граф макрооперация

Приложение

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

title SVU

cseg segment 'code'

assume CS:cseg, DS:cseg, SS:cseg, ES:cseg

org 100h

begin: jmp SVU

inpa db 'Введите a в двоичном коде a = ','$'

inpb db 'Введите b в двоичном коде b = ','$'

inpc db 'Введите c в двоичном коде c = ','$'

nlstr db 10,13,'$'

ms_1 db 'Вычисление z=((6a+2b)/8)\/c',10,13,'$'

ms_2 db '(6a+2d)/8=','$'

ms_3 db '((6a+2d)/8)\/b = ','$'

ms_over_a db 'Ошибка: переполнение а',10,13,'$'

ms_over_b db 'Ошибка: переполнение b',10,13,'$'

ms_over_summ db 'Ошибка: переполнение суммы (6a+2b)/8',10,13,'$'

res db ?

a db ?

b db ?

summ db ?

SVU proc

mov ax,0600h ;устанавливаем атрибуты экрана

mov bh,74h ;серый фон красные буквы

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 ;выводим строку ms_1

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

int 21h

call linebr ;переход строки

;ввод а и вычисление 6a

bg:

jmp ia

ofa:

call linebr ;переход строки

mov ah,09h ;выводим сообщение о переполнении а

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

int 21h

call linebr ;переход строки

ia:

mov ah,09h ;выводим строку inpa

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

int 21h

call input ;вводим двоичное число (результат в bl)

mov a,bl ;сохраняем его в a

mov ax,0 ;обнуляем регистр ax

mov al,a ;вычисляем 6а

sal al,1 ;2a

jo ofa

add al,a ;2a+a

jo ofa ;при переполнении переходим на вывод сообщения об ошибке

sal al,1 ;(2a+a)*2

jo ofa ;при переполнении переходим на вывод сообщения об ошибке

mov a,al ;сохраняем результат в а

;ввод d и вычисление 2d

jmp ib

ofb:

call linebr ;переход строки

mov ah,09h ;выводим сообщение о переполнении

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

int 21h

call linebr ;переход строки

ib:

mov ah,09h ;выводим строку inpb

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

int 21h

call input ;вводим двоичное число (результат в bl)

mov b,bl ;сохраняем его в b

mov ax,0 ;обнуляем регистр ax

mov al,b ;вычисляем 2b

add al,b ;2b

jo ofb ;при переполнении переходим на вывод сообщения об ошибке

mov b,al ;сохраняем результат в b

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

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

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

add bl,cl ;6a+2b в bl

jo ofs ;при переполнении переходим на вывод сообщения об ошибке

sar bl,4 ;выполнение (6a+2b)/8

jmp nxt

ofs:

call linebr ;переход строки

mov ah,09h ;выводим сообщение о переполнении суммы (6a+2b)/8 на экран

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

int 21h

call linebr ;переход строки

jmp bg ;переходим на повторный ввод a и b

nxt:

call linebr ;переход строки

mov ah,09h ;выводим строку ms_2

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

int 21h

call output ;выводим на экран значение суммы (6a+2b)/8

mov summ,bl ;сохраняем сумму (6a+2b)/8 в summ

call linebr ;переход строки

;ввод c

call linebr ;переход строки

mov ah,09h ;выводим inpc

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

int 21h

call input ;вводим двоичное число (результат в dl)

;логическое умножение c и (6a+2b)/8

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

mov bh,summ ;перемещаем сумму в регистр bh

or bl,bh ;логически складываем с и (6a+2b)/8

mov res,bl ;записываем результат в рес res

call linebr ;переход строки

mov ah,09h ;выводим строку ms_3

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

int 21h

call output ;выводим на экран значение результата

call linebr ;переход строки

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

mov ah,07h ;ожидаем нажатия любой клавиши

int 21h

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

int 21h

SVU endp

;процедура ввода 8-разрядного двоичного кода

input proc

push dx ;сохраняем регистр dx в стек

mov bl,0 ;обнуляем bl

mov cx,8d ;организация цикла на 8 итераций

lp1:

mov ax,ax ;обнуляем ax

mov ah,07h ;ввод символа с клавиатуры цифры без вывода на экран

int 21h ;результат сохраняется в al

cmp al,30h ;сравниваем код введенного символа с кодом 0

jb lp1 ;если меньше возвращаемся на ввод цифры

cmp al,31h ;сравниваем код введенного символа с кодом 1

jg lp1 ;если больше возвращаемся на ввод цифры

mov ah,02h ;выводим ввденный символ

mov dl,al ;на экран

int 21h

sub al,30h ;преобразуем код нажатой клавиши в цифру

add bl,al ;и добавляем к bl

cmp cx,1d ;проверяем если последняя итерация

je m1 ;то пропуская сдвиг регистра (переходим на m1)

shl bl,1 ;сдвигаем регистр bl влево

m1:

loop lp1

call linebr ;переход строки

pop dx ;возвращаем значение регистра dx из стека

ret ;выходим из процедуры

input endp

процедура ввода 8-разрядного двоичного числа

output proc

mov bh,bl ;сохраняем bl в bh

xor dx,dx ;обнуляем dx

xor cx,cx ;обнуляем cx

mov cl,08h ;организация цикла на 8 итераций

lp2:

shl bl,1 ;сдвигаем bl влево

jc m2 ;если старший разряд был 1 то переходим на m2

mov dl,'0' ;записываем на вывод 0

jmp m3

m2:

mov dl,'1' ;записываем на вывод 1

m3:

mov ah,02h ;выводим записанную цифру

int 21h ;на экран

loop lp2

mov bl,bh ;возвращаем сохраненное в bh значение в bl

ret ;выходим из процедуры

output endp

процедура перевода на следующую строку

linebr proc

mov ah,09h ;выводим на экран строку

lea dx,nlstr ;содержащую переход строки (nlstr)

int 21h

ret ;выходим из процедуры

linebr endp

cseg ends

end begin

Скриншот работы программы

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


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

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

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

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

    контрольная работа [546,4 K], добавлен 24.02.2014

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

    дипломная работа [670,2 K], добавлен 20.10.2013

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

    курсовая работа [313,9 K], добавлен 28.11.2010

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

    дипломная работа [3,3 M], добавлен 27.10.2017

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

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

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

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

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

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

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

    контрольная работа [275,4 K], добавлен 08.01.2014

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

    курсовая работа [387,9 K], добавлен 24.12.2012

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