МПТ3 (Несколько курсовых работ неизвестного варианта), страница 2
Описание файла
Файл "МПТ3" внутри архива находится в папке "Несколько курсовых работ неизвестного варианта". Документ из архива "Несколько курсовых работ неизвестного варианта", который расположен в категории "". Всё это находится в предмете "цифровые устройства и микропроцессоры (цуимп)" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "цифровые устройства и микропроцессоры" в общих файлах.
Онлайн просмотр документа "МПТ3"
Текст 2 страницы из документа "МПТ3"
Схема задержки на два такта реализована на четырёх D-триггерах (DD6), и трёх логических элементах (DD5.1 и DD5.2). Каждый из триггеров записывает информацию с входа D если на входе С присутствуют сигнал высокого уровня. При низком уровне сигнала на входе С триггер не меняет своего состояния. Таким образом триггер DD6.1 при приходе сигнала СТРОБ растягивает его до прихода следующего тактового импульса (сигнал D1). Триггеры DD6.2 – DD6.4 реализуют задержку сигнала D1 на полтакта каждый, так как тактовые сигналы на последующий триггер подаются в противофазе с предыдущим. Как видно из временных диаграмм работы управляющей части устройства сигнал УСЧИТ является коньюнкцией сигналов D4 и ГТИ. Операция коньюнкции осуществляется на двух элементах типа И-НЕ (DD5.1 и DD5.2). Элемент DD5.3 выполняет инверсию сигнала ГТИ.
Принципиальная схема операционной части устройства, построенная на основе функциональной схемы рис. 2.1, изображена на рис. 2. 4.
3. РЕГИСТРОВАЯ РЕАЛИЗАЦИЯ УСТРОЙСТВА.
Комбинационная реализация устройства, построенная на РПЗУ обладает недостатком - объем устройства растет пропорционально длине входного кода.
За основу построения регистрового варианта устройства положим идею преобразования входного параллельного кода в последовательный с последующим преобразованием последовательного кода в выходной параллельный. Такое преобразование должно начинаться с момента прихода входного кода и сигнала СТРОБ и заканчиваться с генерацией импульса УСЧИТ после нахождения решения. Задача преобразования распадается на две подзадачи: преобразование входного параллельного кода в последовательный и получение выходного параллельного позиционного кода по последовательному.
Первую задачу можно решать двумя путями: использовать мультиплексор или сдвиговый регистр. Для первого варианта входной код надо фиксировать на все время преобразования. Для второго варианта достаточно выставить входной код на время сигнала СТРОБ.
Для выполнения второй задачи целесообразно формировать выходной код на сдвиговом регистре. Осуществляя циклический сдвиг можно поменять байты слова местами. Такое построение позволяет ускорить процесс обработки, поскольку если в младшем байте меньше единиц, то решение задачи будет найдено после сдвига данных на 8 разрядов.
3.1. РАЗРАБОТКА БЛОК-СХЕМЫ АЛГОРИТМА.
Блок-схема алгоритма по выбранному варианту изображена на рис. 3.1.
По приходу сигнала СТРОБ устройство начинает поиск решения. После нахождения решения формируется сигнал УСЧИТ. В блок-схеме введены следующие обозначения:
РЕГ – сдвиговый 16-ти разрядный регистр данных;
СЧЁТ – 5-ти разрядный двоичный счётчик сдвигов;
СУМ – 4-х разрядный двоичный реверсивный счётчик;
ПР2 – операция РЕГ{1}РЕГ{9}.
Операция СУМ=СУМ+РЕГ{1}-РЕГ{9} осуществляется за счёт подачи бита РЕГ{1} на вход направления счёта. Проверку условия СУМ<0 целесообразно заменить с помощью проверкой числа переполнений счётчика СУМ на чётность Т-триггером (так как счёт СУМ начинает с нуля, то нечётность числа переполнений СУМ будет указывать на выполнение данного условия, а чётность числа переполнений СУМ будет указывать на невыполнение данного условия).
3.2. СОСТАВЛЕНИЕ ОПЕРАЦИОННОГО ОПИСАНИЯ УСТРОЙСТВА.
С оответствующее этой блок-схеме операционное описание синтезируемого устройства приведено ниже.
Микропрограмма ВЫЧИСЛИТЕЛЬ;
Переменные:
входные: A{1:16}, СТРОБ;
внутренние: РЕГ{1:16}, СЧЁТ{0:4}, СУМ{0:3};
выходные: В{1:16}=РЕГ{1:16}, УСЧИТ;
Признаки:
P1 = СТРОБ;
P2 = (СЧЁТ=8);
P3 = (РЕГ{1}РЕГ{9});
P4 = (СУМ<0);
P5 = (СЧЁТ=16);
Процедура
М1 если P1 то М1;
УЗВХ: РЕГ=А;
УЗСЧ: СЧЁТ=0;
УЗСМ: СУМ=0;
М2 если P2 то М4;
если P3 то М3;
УСУМ: СУМ=СУМ+РЕГ{1}-РЕГ{9};
М3 УССЧ: СЧЁТ=СЧЁТ+1;
УСВХ: РЕГ=РЕГ{2:16}.РЕГ{1};
идти к М2;
М4 если Р4 то М6;
М5 УССЧ: СЧЁТ=СЧЁТ+1;
УСВХ: РЕГ=РЕГ{2:16}.РЕГ{1};
если P5 то М5;
М6 УСЧИТ: ;
конец.
Сигналы УЗВХ, УЗСЧ и УЗСМ эквивалентны и их можно заменить сигналом УЗАП, сигналы УССЧ и УСВХ можно заменить сигналом УССД. Текст микропрограммы, учитывающей вышесказанное, приведён ниже.
Микропрограмма ВЫЧИСЛИТЕЛЬ;
Переменные:
входные: A{1:16}, СТРОБ;
внутренние: РЕГ{1:16}, СЧЁТ{0:4}, СУМ{0:3};
выходные: В{1:16}=РЕГ{1:16}, УСЧИТ;
Признаки:
P1 = СТРОБ;
P2 = (СЧЁТ=8);
P3 = (РЕГ{1}РЕГ{9});
P4 = (СУМ<0);
P5 = (СЧЁТ=16);
Процедура
М1 если P1 то М1;
УЗАП: РЕГ=А, СЧЁТ=0, СУМ=0;
М2 если P2 то М4;
если P3 то М3;
УСУМ: СУМ=СУМ+РЕГ{1}-РЕГ{9};
М3 УССД: СЧЁТ=СЧЁТ+1, РЕГ=РЕГ{2:16}.РЕГ{1};
идти к М2;
М4 если Р4 то М6;
М5 УССД: СЧЁТ=СЧЁТ+1, РЕГ=РЕГ{2:16}.РЕГ{1};
если P5 то М5;
М6 УСЧИТ: ;
конец.
3. 3. ФУНКЦИОНАЛЬНАЯ СХЕМА РЕГИСТРОВОЙ РЕАЛИЗАЦИИ УСТРОЙСТВА.
1
Функциональная схема операционного автомата, составленная в соответствии с микропрограммой ВЫЧИСЛИТЕЛЬ изображена на рис. 3.2.
Рис. 3.2. Функциональная схема операционного автомата регистровой реализации устройства.
У правляющий автомат с жёсткой логикой.
Управляющий автомат с жесткой логикой будем реализовывать в виде конечного автомата. На рис. 3.3 представлены граф - схемы алгоритмов для автоматов Мура (a) и Мили (б), соответствующие микропрограмме.
Б
a3
удем реализовывать управляющее устройство в виде автомата Мили, так как он имеет всего три состояния и исполняется на двух триггерах (автомат Мили имеет пять состояний). Граф переходов для автомата Мили, полученный из граф-схемы алгоритма, изображен на рис. 3.4.
Таблица 3.1. Матрица переходов автомата Мили.
а(t) Признак | а0 | а1 | а2 |
Р1 | а1 | — | — |
УЗАП | |||
P1 | а0 | — | — |
— | |||
P2Р3 | — | а1 | — |
УСУМ, УССД | |||
P2P3 | — | а1 | — |
УССД | |||
P2Р4 | — | а0 | — |
УСЧИТ | |||
Р2Р4 | — | а2 | — |
Р5 | — | — | а0 |
УСЧИТ | |||
Р5 | — | — | а2 |
УССД |
Таблица 3.2. Таблица кодирования состояний автомата.
а(t) | a0 | a1 | a2 |
Q1 | 0 | 0 | 1 |
Q2 | 0 | 1 | 1 |
Таблица 3.3. Кодированная таблица переходов и выходов автомата.
Q1Q2 Признак | 00 | 01 | 11 |
Р1 | 01 | — | — |
УЗАП | |||
P1 | 00 | — | — |
— | |||
P2Р3 | — | 01 | — |
УСУМ, УССД | |||
P2P3 | — | 01 | — |
УССД | |||
P2Р4 | — | 00 | — |
УСЧИТ | |||
Р2Р4 | — | 11 | — |
Р5 | — | — | 00 |
УСЧИТ | |||
Р5 | — | — | 11 |
УССД |
Таблица 3.4. Кодированная табличная матрица переходов и выходов автомата.
Q1(t) | Q2(t) | Q1(t+1) | Q2(t+1) | Признак/Упр. сигнал |
0 | 0 | 0 | 0 | P1 |
0 | 0 | 0 | 1 | Р1/УЗАП |
0 | 1 | 0 | 0 | Р2Р4/УСЧИТ |
0 | 1 | 0 | 1 | P2P3/УССД |
0 | 1 | 0 | 1 | P2P3/УССД, УСУМ |
0 | 1 | 1 | 1 | Р2&Р4/УССД |
1 | 1 | 0 | 0 | Р5/УСЧИТ |
1 | 1 | 1 | 1 | Р5/УССД |
На основании кодированной табличной матрицы переходов и выходов автомата (таблица 3.4.) получим функции возбуждения:
для автомата на D-триггерах:
Q 1(t+1) = Q1P2P4+Q1P5 (7 входов)
Q 2(t+1) = Q2P1+Q2P2Р5+Q1P4Р5+Q1P5 (14 входов)
для автомата на JK-триггерах:
J1 = Р2Р4 (2 входа)
K1 = P5 (1 вход)
J 2 = P1+Q1P5 (4 входа)
K 2 = Q1P5+P2Р5+P4Р5 = (Р2+Р4+Q1)Р5 = (Р2+Р4+Q1)+Р5 = Р2Р4Q1+Р5
(5 входов)
Для реализации автомата на D-триггерах требуется 21 входов, а на JK-триггерах требуется только 12 входов, значит автомат лучше строить на JK-триггерах. Выражения для формирования управляющих сигналов приведены ниже:
УЗАП = Q2P1
У СУМ = Q1P3
У СЧИТ =Q2P4P1+Q2P5P1
У ССД = Q1Q2
Функциональная схема управляющего автомата для регистровой реализации устройства представлена на рис.3.5.
У правляющий автомат с программируемой логикой.
Каноническая форма микропрограммы синтезируемого операционного устройства приведена в таблице 3.4. При использовании принудительной адресации строки 5 и 6, 8 и 9, 11 и 12 можно объединить. Тогда каноническая форма операционного описания для случая принудительной адресации примет вид, представленный в таблице 3.5.
Таблица 3.4.
№ | МЕТКА | УПР. СИГНАЛ | ПЕРЕХОД |
0 | М1 |
| ЕСЛИ Р1 ТО М1 |
1 |
| УЗАП |
|
2 | М2 |
| ЕСЛИ Р2 ТО М4 |
3 |
| ЕСЛИ Р3 ТО М3 | |
4 |
| УСУМ | |
5 | М3 | УССД |
|
6 | ИДТИ К М2 | ||
7 | М4 |
| ЕСЛИ Р4 ТО М6 |
8 | М5 | УССД |
|
9 |
|
| ЕСЛИ Р5 ТО М5 |
10 | М6 | УСЧИТ | |
11 | ИДТИ К М1 |
Таблица 3.5.
№ | МЕТКА | УПР. СИГНАЛ | ПЕРЕХОД |
0 | М1 |
| ЕСЛИ Р1 ТО М1 |
1 |
| УЗАП |
|
2 | М2 |
| ЕСЛИ Р2 ТО М4 |
3 |
| ЕСЛИ Р3 ТО М3 | |
4 |
| УСУМ | |
5 | М3 | УССД | ИДТИ К М2 |
6 | М4 | ЕСЛИ Р4 ТО М6 | |
7 | М5 | УССД | ЕСЛИ Р5 ТО М5 |
8 | М6 | УСЧИТ | ИДТИ К М1 |
Принудительная адресация.
Формат микрокоманды для принудительной адресации имеет вид:
УЗАП | УСУМ | УССД | УСЧИТ | ХР1 | ХР2 | ХР3 | ХР4 | ХР5 | А3 | А2 | А1 | А0 |
Таким образом микропрограмма с принудительной адресацией будет иметь следующий вид
Адрес | Код микрокоманды | |||||||||||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Минимальная ёмкость ПЗУ для хранения микропрограммы с принудительной адресацией 117 бит.
Естественная адресация.
Для естественной адресации микрокоманды имеют два формата:
0 | УЗАП | УСУМ | УССД | УСЧИТ | – | – | – | – | – |
1 | ХР1 | ХР2 | ХР3 | ХР4 | ХР5 | А3 | А2 | А1 | А0 |
Первый разряд микрокоманды определяет признак: 0 - операционная микрокоманда, 1 - управляющая микрокоманда. Кодовые выражения микропрограммы с естественной адресацией
Адрес | Код микрокоманды | |||||||||||||
0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | – | – | – | – | – | |
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | |
0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | |
0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | – | – | – | – | – | |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | – | – | – | – | – | |
0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |
0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | – | – | – | – | – | |
1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | – | – | – | – | – | |
1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Для микропрограммы с естественной адресацией требуется ёмкость ПЗУ не менее 120 бит. Объём кода микропрограммы может быть уменьшен путём шифрации маски признаков. В этом случае микропрограмма будет занимать 96 бит.
Выберем управляющий автомат с естественной адресацией, функциональная схема которого изображена на рис. 3.6. Регистром РУС формируются управляющие сигналы, регистром РАП коды признаков (РПА{1:3}) и коды адреса (РПА{4:7}). УРУС и УРПА – схемы управления регистрами РУС и РПА соответственно. Их предназначение – по признаку (первому разряду микрокоманды) подавать микрокоманду на нужный регистр (на РУС, если команда операционная и на РПА, если управляющая).
Кодовые выражения микропрограммы с естественной адресацией и шифрацией маски признаков.
Адрес | Код микрокоманды | |||||||||||
А3 | А2 | А1 | А0 | П | УЗАП | УСУМ | УССД | УСЧИТ | – | – | – | |
П | Код маски признаков | А3 | А2 | А1 | А0 | |||||||
0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | |
0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | – | – | – | |
0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | |
0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | |
0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | – | – | – | |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | – | – | – | |
0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |
0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | – | – | – | |
1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | |
1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | – | – | – | |
1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Микрокоманды переписывается из ПЗУ микрокоманд по адресу, находящемуся в счётчике адреса (СЧА). Начальный адрес (УСТАН) устанавливается сигналом СБРОС, и управляющий автомат ожидает прихода сигнала СТРОБ (Р1) для продолжения работы, а адрес перехода устанавливается (РПА{4:7}) признаком перехода (Р). УСЧА – схема управления счётчиком СЧА.
3. 4. ПРИНЦИПИАЛЬНАЯ СХЕМА РЕГИСТРОВОЙ РЕАЛИЗАЦИИ.
Примем в качестве элементной базы микросхемы ТТЛ.
Операционная часть устройства.
Входной регистр построен на паре универсальных, восьмиразрядных, синхронных регистров сдвига К155ИР13 (DD1 и DD2). При двух единицах на входах S0, S1 в регистры заносится параллельный код. При S0=0, а S1=1 осуществляется сдвиг влево. Данная микросхема потребляет ток 116 мА. В качестве реверсивного двоичного счётчика СУМ выберем синхронный реверсивный четырёхразрядный двоичный счётчик К531ИЕ17 (DD4). Т-триггер для проверки на чётность переполнений счётчика СУМ выполним на D-триггере КМ555ТМ2 (DD6). Пятиразрядный счётчик сдвигов построим на микросхеме КМ555ИЕ19 (DD5) (два двоичных четырёхразрядных счётчика в одном корпусе). Логический элемент «исключающее ИЛИ» выполним на микросхеме К555ЛП5 (DD3), элемент «3ИЛИ-НЕ» на микросхеме К555ЛE4 (DD7), элемент «2И» на микросхеме К555ЛИ2 (DD8). Таким образом операционная часть устройства требует для своего построения 8 корпусов микросхем.
Принципиальная схема регистровой реализации устройства с управляющим автоматом с жёсткой логикой, построенная на основе функциональных схем (рис. 3.2; рис. 3.5) приведена на рис. 3.7.
Л огические элементы «3И–2ИЛИ–НЕ» и «2И–2ИЛИ–НЕ» выполним на микросхеме К555ЛР11 (DD9) (элемент «2И–2ИЛИ–НЕ» и элемент «3И–2ИЛИ–НЕ» в одном корпусе). JK–триггеры выполним на микросхеме К555ТВ6 (DD13) (два JK-триггера с установкой со сбросом). Регистры и триггеры управляющего автомата тактируются профазно. Управляющий сигналы УСУМ и УССД необходимо тактировать. Тактирование сигнала УСУМ производится коньюнкцией его с тактовыми импульсами (ГТИ). Тактированый сигнал УССД получается при дизъюнкции его с тактовой последовательностью. Элемент «3И» выполнен на микросхеме К555ЛИ3 (DD14). Инверторы выполнены на микросхеме К555ЛН1 (DD11). Сигнал S1 формируется сложением сигналов УССД и УЗАП. Дизъюнкция производится на элементах «ИЛИ» (К555ЛЛ1) (DD12.2). Нагрузочные способности микросхем используемых серий приведены в таблице 3.6.
Таблица 3.6.
НагружаемыйВыход | Число входов | ||
К555 | К155 | К531 | |
К555 | 20 | 5 | 4 |
К531 | 50 | 12 | 10 |
К155 | 40 | 10 | 8 |
Время задержки формирования сигнала на выходе микросхем 555 серии не более 20 нс у ЛР11, ЛИ3 и ЛИ2; 15 нс у ЛЕ4 и ЛН1; 30 нс у ЛП4 и ЛЛ1, а у 531 серии — не более 10 нс. Максимальное время формирования управляющих сигналов (с момента начала переключения триггера (спад тактового импульса)):
Т ус=tперекл. триг.+ТDD9.2+TDD11.5+TDD12.3=15нс+20нс+15нс+30нс =80нс (сигнал S1).
Максимальное время формирования комбинации на входах триггера (с момента начала переключения триггера (спад тактового импульса)):
TФОРМ=tперекл.триг.+ТDD9.2+TDD12.2+ТФОРМ.DD5.1+ТФОРМ.DD5.2+TDD11.1+ТDD8.3+ +TDD12.1=15нс+20нс+30нс+15нс+15нс+15нс+20нс+30нс=160нс.
Таким образом частота тактовых импульсов должна быть не больше f=1/160нс=6.25МГц. Зададимся частотой следования тактовых импульсов fГТИ=5МГц. Генератор последовательности тактовых импульсов выполним на микросхеме К531ГГ1 (DD10). Значение ёмкости С найдём по формуле: С=0,0005/fГТИ=0,0005/5МГц=100пФ.
Для экстренного прерывания работы в устройстве предусмотрена кнопка СБРОС. При нажатии на неё управляющий автомат переходит в начальное состояние и ожидает сигнала СТРОБ для выполнения нового задания.
Т аким образом для данной реализации устройства необходимо 14 корпусов микросхем. Временные диаграммы работы устройства без учёта задержек на входной код А{1:16}=0100110110110110 приведены на рис.3.8.
4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ФУНКЦИИ УСТРОЙСТВА.
А лгоритм программы, реализующей функции заданного устройства, приведен на рис. 4.1. Программа реализующая данный алгоритм на микропроцессоре КР580ВМ80А приведена в таблице 4.1. Предполагается, что на шину данных процессора подаётся сначала старший байт слова, а затем младший. Аналогично представляется выходное слово.
Таблица 4.1
Метка | Команда | Адрес | Код | Комментарии |
ORG 0800h | ||||
L0 | MOV H,M | 0800 | 26 | /загрузка входного слова в регистровую пару; /HL (в H старший байт, в L – младший); |
MOV L,M | 0801 | 2E | ||
MVI D,08h | 0802 | 16 | /установка числа сдвигов равному 8; / | |
0803 | 08 | |||
MVI B,00h | 0804 | 06 | /установка счётчика единиц старшего байта; /равным 0; | |
0805 | 00 | |||
MVI C,00h | 0806 | 0E | /установка счётчика единиц младшего байта; /равным 0; | |
0807 | 00 | |||
MVI E,01h | 0808 | 1E | /загрузка маски 1; / | |
0809 | 01 | |||
L1 | MOV A,H | 080A | 7C | /загрузка старшего байта в аккумулятор; |
ANA E | 080B | A3 | /обнуление битов по маске; | |
ADD B | 080C | 80 | /добавление содержимого аккумулятора к; /счётчику единиц старшего байта; | |
MOV B,A | 080D | 47 | ||
MOV A,H | 080E | 7C | /циклический сдвиг содержимого регистра Н; /(старшего байта) влево; / | |
RLC | 080F | 07 | ||
MOV H,A | 0810 | 67 | ||
DCR D | 0811 | 15 | /уменьшение числа сдвигов на 1; | |
JNZ L1 | 0812 | C2 | /переход на метку L1, если D≠0; / / | |
0813 | 0A | |||
0814 | 08 | |||
MVI D,08h | 0815 | 16 | / установка числа сдвигов равному 8; / | |
0816 | 08 | |||
L2 | MOV A,L | 0817 | 7B | /загрузка младшего байта в аккумулятор; |
ANA E | 0818 | A3 | /обнуление битов по маске; | |
ADD C | 0819 | 81 | /добавление содержимого аккумулятора к; /счётчику единиц младшего байта; | |
MOV C,A | 081A | 4F | ||
MOV A,L | 081B | 7D | /циклический сдвиг содержимого регистра L; /(младшего байта) влево; / | |
RLC | 081C | 07 | ||
MOV L,A | 081D | 6F | ||
DCR D | 081E | 15 | /уменьшение числа сдвигов на 1; | |
JNZ L2 | 081F | C2 | /переход на метку L2, если D≠0; / / | |
0820 | 17 | |||
0821 | 08 | |||
MOV A,B | 0822 | 78 | /вычисление разности количества единиц; /старшего и младшего байта. | |
SUB C | 0823 | 91 | ||
JM L3 | 0824 | FA | /переход на метку L3, если разность; /отрицательна; | |
0825 | ||||
0826 | 08 | / | ||
MOV H,A | 0827 | 67 | /меняем местами старший и младший байты; / / | |
MOV L,H | 0828 | 6C | ||
MOV A,L | 0829 | 7D | ||
L3 | MOV M,H | 082A | 74 | /вывод конечного результата (сначала; /старший байт, затем младший); |
MOV M,L | 082B | 75 | ||
JMP L0 | 082C | C3 | /безусловный переход на первую строчку; /программы; / | |
082D | 00 | |||
082E | 08 |
5. СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ.
[1]. Методические указания к курсовой работе по дисциплине «Вычислительные системы и микропроцессорная техника»: Учебное пособие. / Б.С. Мельников, А.В. Щеглов. – М.: Изд-во МАИ, 1991.
[2]. Электронные вычислительные устройства. Операционный синтез.: Учебное пособие. / В.Б. Силин, Б.С. Мельников. – М.: МАИ, 1982.
[3]. Архитектура микропроцессорных вычислителей: Учебное пособие. / Р.М. Кондратьев, Б.С. Мельников, А.В. Щеглов. – М.: МАИ, 1986.
[4]. Изучение аппаратных и программных средств микропроцессорных вычислителей на базе микропроцессора КР580ВМ80А: Лабораторные работы. / А.П. Караваев, Б.С. Мельников, А.В. Щеглов. – М.: МАИ, 1994.
[5]. Цифровые и аналоговые интегральные микросхемы: Справочник / С.В. Якубовский, Л.И. Ниссельсон, В.И. Кулешова и др.; Под ред. С.В. Якубовского. – М.: Радио и связь, 1989.
[6]. Популярные цифровые микросхемы: Справочник / В.Л. Шило. – М.: Радио и связь, 1987.
[7]. Микропроцессоры и микроЭВМ в системах автоматического управления: Справочник / С.Т. Хвощ, Н.Н. Варлинский, Е.А. Попов; Под общ. ред. С.Т. Хвоща. – Л.: Машиностроение. Ленингр. отд-ние, 1987.
[8]. Архитектура и проектирование микро–ЭВМ. Организация вычислительных процессов: Учебник для втузов / П.В. Нестеров, В.Ф. Шаньгин, В.Л. Горбунов и др.; Под редакцией Л.Н. Преснухина. М.: Высш. шк., 1986.
0>0>0>