- •Курсовая работа по дисциплине «Аппаратные средства вычислительной техники»
- •Оглавление
- •Введение
- •Постановка задачи
- •Техническое задание
- •Структура входных и выходных данных
- •Разработка и описание структурной схемы алгоритма
- •Распределение памяти в озу
- •Разработка и описание принципиальной схемы алгоритма в условных адресах
- •Разработка и описание функциональной схемы алгоритма
- •Распределение памяти в пзу
- •В действительных адресах:
- •Разработка и описание структурной схемы мпс:
- •Разработка и описание функциональной схемы микропроцессорной системы.
- •Микропроцессор. (кр580ик80а).
- •Параллельный программируемый интерфейс кр580вв55.
- •Пзу (постоянное запоминающее устройство к573рф1)
- •Озу (оперативное запоминающее устройство к185ру2)
- •Временные диаграммы
- •Заключение.
- •Список литературы.
Разработка и описание функциональной схемы алгоритма
Функциональная схема ГПМ:
Функциональная схема ПМ1:
2
1
5
4
3
2
1
9
8
7
6
5
4
3
6
7
8
9
Функциональная схема ПМ2:
2
1
5
4
3
2
1
5
4
3
Функциональная схема ПМ3:
2
1
5
4
3
2
1
5
4
3
Функциональная схема ПМТ10
Распределение памяти в пзу
В условных адресах:
ГПМ+0 |
ПМ1+0 |
ПМ2+0 |
ПМ3+0 |
ПМТ10+0 |
… |
… |
… |
… |
… |
ГПМ+56 |
ПМ1+168 |
ПМ2+120 |
ПМ3+120 |
ПМТ10+45 |
В действительных адресах:
ГПМ |
ПМ1 |
ПМ2 |
ПМ3 |
ПМТ10 |
0000 |
0060 |
0230 |
0360 |
0490 |
0059 |
0229 |
0359 |
0489 |
0535 |
Принцип работы:
Пользователь нажимаем на клавиатуре «НАЧАЛО РАБОТЫ».
На Табло 2 загорается приветствие и предложение ответить на вопросы. Так же загорается первый вопрос. Для обдумывания ответа пользователю даётся 10 секунд..
В зависимости от того, какую клавишу пользователь нажмёт в ответ на вопрос, возможны следующие случаи:
На Табло 2 загорится сообщение о том, что требуемая информация была найдена, а на Табло 1 загорятся номера страницы в каталоге
На Табло 2 загорится следующий вопрос
На Табло 2 загорится сообщение о том, что требуемая информация не найдена
Структура управляющего слова КР580ВВ55:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Разряд 0: Порт С(0…3): «1» - ввод, «0» - вывод.
Разряд 1: Порт В: «1» - ввод, «0» - вывод.
Разряд 2: выбор режима: «0» - режим0, «1» - режим1,
Разряд 3:Порт С(4…7): «1» - ввод, «0» - вывод.
Разряд 4: Порт А: «1» - ввод, «0» - вывод.
Разряды 5 и 6:Задание режима: «00» - режим0, «01» - режим1, «10» или «11» - режим2.
Разряд 7:Задание режима «1».
Распределение памяти в озу
СТЭК
адрес |
команда |
комментарий |
0000 |
|
|
0009 |
|
|
Переменные
адрес |
название |
комментарий |
0010 |
Счётчик1 |
Константа для ПМТ10 |
0011 |
Счётчик2 |
Константа для ПМТ10 |
0012 |
Счётчик3 |
Константа для ПМТ10 |
Разработка и описание принципиальной схемы алгоритма в условных адресах
ГПМ
ГПМ+0 |
OUT 898 |
Отправляем управляющее слово 10001001 на Интерфейс 1 |
1 |
|
|
2 |
OUT ED8 |
Отправляем управляющее слово 11101101 на Интерфейс 2 |
3 |
|
|
4 |
IN port C1 |
Чтение из порта С(0) интерфейса 1 в А |
5 |
ANI 018 |
Выделение из А нулевого разряда |
6 |
|
|
7 |
CPI 008 |
Сравниваем А с нулём |
8 |
|
|
9 |
JNZ ГПМ+4 |
Если не ноль, переходим по адресу ГПМ+4 |
ГПМ+10 |
|
|
1 |
|
|
2 |
CALL ПМ1+0 |
Если ноль, то передача управления в ПМ1 |
3 |
|
|
4 |
|
|
5 |
IN port C1 |
Чтение из порта С(2) интерфейса 1 в А |
6 |
ANI 048 |
Выделение из А второго разряда |
7 |
|
|
8 |
CPI 008 |
Сравниваем А с нулём |
9 |
|
|
ГПМ+20 |
JZ ГПМ+45 |
Если ноль, то переход по адресу ГПМ+45 |
1 |
|
|
2 |
|
|
3 |
IN port C1 |
Если не ноль, то чтение из порта С(3) в А |
4 |
ANI 088 |
Выделение из А третьего разряда |
5 |
|
|
6 |
CPI 008 |
Сравниваем А с нулём |
7 |
|
|
8 |
JZ ГПМ+39 |
Если ноль, то переход по адресу ГПМ+39 |
9 |
|
|
ГПМ+30 |
|
|
1 |
IN port C1 |
Если не ноль, то чтение из порта С(4) в А |
2 |
ANI 108 |
Выделение из А четвёртого разряда |
3 |
|
|
4 |
CPI 008 |
Сравниванием А с нулём |
5 |
|
|
6 |
JNZ ГПМ+15 |
Если не ноль, то переход по адресу ГПМ+15 |
7 |
|
|
8 |
|
|
9 |
CALL ПМ3+0 |
Передача управления в ПМ3 |
ГПМ+40 |
|
|
1 |
|
|
2 |
JMP ГПМ+48 |
Безусловный переход по адресу ГПМ+48 |
3 |
|
|
4 |
|
|
5 |
CALL ПМ2+0 |
Передача управления в ПМ1 |
6 |
|
|
7 |
|
|
8 |
IN port C1 |
Чтение из порта С(1) в А |
9 |
ANI 028 |
Выделение из А первого разряда |
ГПМ+50 |
|
|
1 |
CPI 008 |
Сравниваем А с нулём |
2 |
|
|
3 |
JNZ ГПМ+48 |
Если не ноль, то переход по адресу ГПМ+48 |
4 |
|
|
5 |
|
|
6 |
HLT |
СТОП |
ПМ1
ПМ1+0 |
MVI A, 108 |
Заслать содержимое 00010000 в A |
1 |
|
|
2 |
OUT port B2 |
Передать содержимое А в порт B(4) интерфейса 2 |
3 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
4 |
|
|
5 |
|
|
6 |
MVI A, 208 |
Заслать содержимое 00100000 в A |
7 |
|
|
8 |
OUT port B2 |
Передать содержимое А в порт В(5) интерфейса 2 |
9 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
ПМ1+10 |
|
|
1 |
|
|
2 |
IN port C1 |
Чтение из порта С(2) интерфейса 1 в А |
3 |
ANI 048 |
Выделение из А второго разряда |
4 |
|
|
5 |
CPI 008 |
Сравниваем А с нулём |
6 |
|
|
7 |
JNZ ПМ1+29 |
Если не ноль, переходим по адресу ПМ1+29 |
8 |
|
|
9 |
|
|
ПМ1+20 |
MVI A, 0C8 |
Заслать в А 00001100 (первая цифра = 1 на Табло 1) |
1 |
|
|
2 |
OUT port A1 |
Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1) |
3 |
MVI A, 008 |
Заслать в А 00000000 (вторая цифра = 0 на Табло 1) |
4 |
|
|
5 |
OUT port В1 |
Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1) |
6 |
JMP ПМ1+168 |
Возврат в ГПМ |
7 |
|
|
8 |
|
|
9 |
IN port C1 |
Чтение из порта С(3) интерфейса 1 в А |
ПМ1+30 |
ANI 088 |
Выделение из А третьего разряда |
1 |
|
|
2 |
CPI 008 |
Сравниваем А с нулём |
3 |
|
|
4 |
JZ ПМ1+45 |
Если ноль, переходим по адресу ПМ1+45 |
5 |
|
|
6 |
|
|
7 |
IN port C1 |
Если не ноль, то чтение из порта С(4) интерфейса 1 в А |
8 |
ANI 108 |
Выделение из А четвёртого разряда |
9 |
|
|
ПМ1+40 |
CPI 008 |
Сравниваем А с нулём |
1 |
|
|
2 |
JNZ ПМ1+8 |
Если не ноль, то переход по адресу ПМ1+8 |
3 |
|
|
4 |
|
|
5 |
MVI А, 018 |
Заслать содержимое 00000001 в А |
6 |
|
|
7 |
OUT port A2 |
Передать содержимое А в порт А(0) интерфейса 2 |
8 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
9 |
|
|
ПМ1+50 |
|
|
1 |
IN port C1 |
Чтение из порта С(2) интерфейса 1 в А |
2 |
ANI 048 |
Выделение из А второго разряда |
3 |
|
|
4 |
CPI 008 |
Сравниваем А с нулём |
5 |
|
|
6 |
JNZ ПМ1+68 |
Если не ноль, переходим по адресу ПМ1+68 |
7 |
|
|
8 |
|
|
9 |
MVI A, 768 |
Заслать в А 01110110 (первая цифра = 2 на Табло 1) |
ПМ1+60 |
|
|
1 |
OUT port A1 |
Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1) |
2 |
MVI A, 008 |
Заслать в А 00000000 (вторая цифра = 0 на Табло 1) |
3 |
|
|
4 |
OUT port В1 |
Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1) |
5 |
JMP ПМ1+168 |
Возврат в ГПМ |
6 |
|
|
7 |
|
|
8 |
IN port C1 |
Чтение из порта С(3) интерфейса 1 в А |
9 |
ANI 088 |
Выделение из А третьего разряда |
ПМ1+70 |
|
|
1 |
CPI 008 |
Сравниваем А с нулём |
2 |
|
|
3 |
JZ ПМ1+84 |
Если ноль, переходим по адресу ПМ1+84 |
4 |
|
|
5 |
|
|
6 |
IN port C1 |
Если не ноль, то чтение из порта С(4) интерфейса 1 в А |
7 |
ANI 108 |
Выделение из А четвёртого разряда |
8 |
|
|
9 |
CPI 008 |
Сравниваем А с нулём |
ПМ1+80 |
|
|
1 |
JNZ ПМ1+47 |
Если не ноль, то переход по адресу ПМ1+47 |
2 |
|
|
3 |
|
|
4 |
MVI А, 028 |
Заслать содержимое 00000010 в А |
5 |
|
|
6 |
OUT port A2 |
Передать содержимое А в порт А(1) интерфейса 2 |
7 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
8 |
|
|
9 |
|
|
ПМ1+90 |
IN port C1 |
Чтение из порта С(2) интерфейса 1 в А |
1 |
ANI 048 |
Выделение из А второго разряда |
2 |
|
|
3 |
CPI 008 |
Сравниваем А с нулём |
4 |
|
|
5 |
JNZ ПМ1+107 |
Если не ноль, переходим по адресу ПМ1+107 |
6 |
|
|
7 |
|
|
8 |
MVI A, 5Е8 |
Заслать в А 01011110 (первая цифра = 3 на Табло 1) |
9 |
|
|
ПМ1+100 |
OUT port A1 |
Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1) |
1 |
MVI A, 008 |
Заслать в А 00000000 (вторая цифра = 0 на Табло 1) |
2 |
|
|
3 |
OUT port В1 |
Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1) |
4 |
JMP ПМ1+168 |
Возврат в ГПМ |
5 |
|
|
6 |
|
|
7 |
IN port C1 |
Чтение из порта С(3) интерфейса 1 в А |
8 |
ANI 088 |
Выделение из А третьего разряда |
9 |
|
|
ПМ1+110 |
CPI 008 |
Сравниваем А с нулём |
1 |
|
|
2 |
JZ ПМ1+123 |
Если ноль, переходим по адресу ПМ1+123 |
3 |
|
|
4 |
|
|
5 |
IN port C1 |
Если не ноль, то чтение из порта С(4) интерфейса 1 в А |
6 |
ANI 108 |
Выделение из А четвёртого разряда |
7 |
|
|
8 |
CPI 008 |
Сравниваем А с нулём |
9 |
|
|
ПМ1+120 |
JNZ ПМ1+86 |
Если не ноль, то переход по адресу ПМ1+86 |
1 |
|
|
2 |
|
|
3 |
MVI А, 028 |
Заслать содержимое 00000100 в А |
4 |
|
|
5 |
OUT port A2 |
Передать содержимое А в порт А(2) интерфейса 2 |
6 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
7 |
|
|
8 |
|
|
9 |
IN port C1 |
Чтение из порта С(2) интерфейса 1 в А |
ПМ1+130 |
ANI 048 |
Выделение из А второго разряда |
1 |
|
|
2 |
CPI 008 |
Сравниваем А с нулём |
3 |
|
|
4 |
JNZ ПМ1+146 |
Если не ноль, переходим по адресу ПМ1+146 |
5 |
|
|
6 |
|
|
7 |
MVI A, 4D8 |
Заслать в А 01001101 (первая цифра = 4 на Табло 1) |
8 |
|
|
9 |
OUT port A1 |
Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1) |
ПМ1+140 |
MVI A, 008 |
Заслать в А 00000000 (вторая цифра = 0 на Табло 1) |
1 |
|
|
2 |
OUT port В1 |
Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1) |
3 |
JMP ПМ1+168 |
Возврат в ГПМ |
4 |
|
|
5 |
|
|
6 |
IN port C1 |
Чтение из порта С(3) интерфейса 1 в А |
7 |
ANI 088 |
Выделение из А третьего разряда |
8 |
|
|
9 |
CPI 008 |
Сравниваем А с нулём |
ПМ1+150 |
|
|
1 |
JZ ПМ1+162 |
Если ноль, переходим по адресу ПМ1+162 |
2 |
|
|
3 |
|
|
4 |
IN port C1 |
Если не ноль, то чтение из порта С(4) интерфейса 1 в А |
5 |
ANI 108 |
Выделение из А четвёртого разряда |
6 |
|
|
7 |
CPI 008 |
Сравниваем А с нулём |
8 |
|
|
9 |
JNZ ПМ1+159 |
Если не ноль, то переход по адресу ПМ1+159 |
ПМ1+160 |
|
|
1 |
|
|
2 |
MVI А, 028 |
Заслать содержимое 0001000 в А |
3 |
|
|
4 |
OUT port A2 |
Передать содержимое А в порт А(3) интерфейса 2 |
5 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
6 |
|
|
7 |
|
|
8 |
RET |
Возврат в ГПМ |
ПМ2
ПМ2+0 |
MVI A, 108 |
Заслать содержимое 0001000 в А |
1 |
|
|
2 |
OUT port A2 |
Передать содержимое А в порт А(4) интерфейса 2 |
3 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
4 |
|
|
5 |
|
|
6 |
IN port C1 |
Чтение из порта С(2) интерфейса 1 в А |
7 |
ANI 04h8 |
Выделение из А второго разряда |
8 |
|
|
9 |
CPI 008 |
Сравниваем А с нулём |
ПМ2+10 |
|
|
1 |
JNZ ПМ2+23 |
Если не ноль, переходим по адресу ПМ2+23 |
2 |
|
|
3 |
|
|
4 |
MVI A, 5A8 |
Заслать в А 01011010(первая цифра = 5 на Табло 1) |
5 |
|
|
6 |
OUT port A1 |
Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1) |
7 |
MVI A, 008 |
Заслать в А 00000000 (вторая цифра = 0 на Табло 1) |
8 |
|
|
9 |
OUT port В1 |
Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1) |
ПМ2+20 |
JMP ПМ2+120 |
Возврат в ГПМ |
1 |
|
|
2 |
|
|
3 |
IN port C1 |
Чтение из порта С(3) интерфейса 1 в А |
4 |
ANI 088 |
Выделение из А третьего разряда |
5 |
|
|
6 |
CPI 008 |
Сравниваем А с нулём |
7 |
|
|
8 |
JZ ПМ2+39 |
Если ноль, переходим по адресу ПМ2+39 |
9 |
|
|
ПМ2+30 |
|
|
1 |
IN port C1 |
Если не ноль, то чтение из порта С(4) интерфейса 1 в А |
2 |
ANI 108 |
Выделение из А четвёртого разряда |
3 |
|
|
4 |
CPI 008 |
Сравниваем А с нулём |
5 |
|
|
6 |
JNZ ПМ2+2 |
Если не ноль, то переход по адресу ПМ2+2 |
7 |
|
|
8 |
|
|
9 |
MVI А, 208 |
Заслать содержимое 00100000 в А |
ПМ2+40 |
|
|
1 |
OUT port A2 |
Передать содержимое А в порт А(5) интерфейса 2 |
2 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
3 |
|
|
4 |
|
|
5 |
IN port C1 |
Чтение из порта С(2) интерфейса 1 в А |
6 |
ANI 048 |
Выделение из А второго разряда |
7 |
|
|
8 |
CPI 008 |
Сравниваем А с нулём |
9 |
|
|
ПМ2+50 |
JNZ ПМ2+62 |
Если не ноль, переходим по адресу ПМ2+62 |
1 |
|
|
2 |
|
|
3 |
MVI A, 7В8 |
Заслать в А 01111011 (первая цифра = 6 на Табло 1) |
4 |
|
|
5 |
OUT port A1 |
Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1) |
6 |
MVI A, 008 |
Заслать в А 00000000 (вторая цифра = 0 на Табло 1) |
7 |
|
|
8 |
OUT port В1 |
Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1) |
9 |
JMP ПМ2+120 |
Возврат в ГПМ |
ПМ2+60 |
|
|
1 |
|
|
2 |
IN port C1 |
Чтение из порта С(3) интерфейса 1 в А |
3 |
ANI 088 |
Выделение из А третьего разряда |
4 |
|
|
5 |
CPI 008 |
Сравниваем А с нулём |
6 |
|
|
7 |
JZ ПМ2+78 |
Если ноль, переходим по адресу ПМ2+78 |
8 |
|
|
9 |
|
|
ПМ2+70 |
IN port C1 |
Если не ноль, то чтение из порта С(4) интерфейса 1 в А |
1 |
ANI 108 |
Выделение из А четвёртого разряда |
2 |
|
|
3 |
CPI 008 |
Сравниваем А с нулём |
4 |
|
|
5 |
JNZ ПМ2+41 |
Если не ноль, то переход по адресу ПМ2+41 |
6 |
|
|
7 |
|
|
8 |
MVI А, 408 |
Заслать содержимое 01000000 в А |
9 |
|
|
ПМ2+80 |
OUT port A210 |
Передать содержимое А в порт А(6) интерфейса 2 |
1 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
2 |
|
|
3 |
|
|
4 |
IN port C1 |
Чтение из порта С(2) интерфейса 1 в А |
5 |
ANI 048 |
Выделение из А второго разряда |
6 |
|
|
7 |
CPI 008 |
Сравниваем А с нулём |
8 |
|
|
9 |
JNZ ПМ2+101 |
Если не ноль, переходим по адресу ПМ2+101 |
ПМ2+90 |
|
|
1 |
|
|
2 |
MVI A, Е8 |
Заслать в А 00001110 (первая цифра = 7 на Табло 1) |
3 |
|
|
4 |
OUT port A1 |
Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1) |
5 |
MVI A, 008 |
Заслать в А 00000000 (вторая цифра = 0 на Табло 1) |
6 |
|
|
7 |
OUT port В1 |
Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1) |
8 |
JMP ПМ2+120 |
Возврат в ГПМ |
9 |
|
|
ПМ2+100 |
|
|
1 |
IN port C1 |
Чтение из порта С(3) интерфейса 1 в А |
2 |
ANI 088 |
Выделение из А третьего разряда |
3 |
|
|
4 |
CPI 008 |
Сравниваем А с нулём |
5 |
|
|
6 |
JZ ПМ2+117 |
Если ноль, переходим по адресу ПМ2+117 |
7 |
|
|
8 |
|
|
9 |
IN port C1 |
Если не ноль, то чтение из порта С(4) интерфейса 1 в А |
ПМ2+110 |
ANI 108 |
Выделение из А четвёртого разряда |
1 |
|
|
2 |
CPI 008 |
Сравниваем А с нулём |
3 |
|
|
4 |
JNZ ПМ2+80 |
Если не ноль, то переход по адресу ПМ2+80 |
5 |
|
|
6 |
|
|
7 |
MVI А, 028 |
Заслать содержимое 00001000 в А |
8 |
|
|
9 |
OUT port В2 |
Передать содержимое А в порт В(3) интерфейса 2 |
ПМ2+120 |
RET |
Возврат в ГПМ |
ПМ3
ПМ3+0 |
MVI A, 808 |
Заслать содержимое 10000000 в А |
1 |
|
|
2 |
OUT port A2 |
Передать содержимое А в порт А(7) интерфейса 2 |
3 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
4 |
|
|
5 |
|
|
6 |
IN port C1 |
Чтение из порта С(2) интерфейса 1 в А |
7 |
ANI 048 |
Выделение из А второго разряда |
8 |
|
|
9 |
CPI 008 |
Сравниваем А с нулём |
ПМ3+10 |
|
|
1 |
JNZ ПМ3+23 |
Если не ноль, переходим по адресу ПМ3+23 |
2 |
|
|
3 |
|
|
4 |
MVI A, 7F8 |
Заслать в А 01111111 (первая цифра = 8 на Табло 1) |
5 |
|
|
6 |
OUT port A1 |
Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1) |
7 |
MVI A, 008 |
Заслать в А 00000000 (вторая цифра = 0 на Табло 1) |
8 |
|
|
9 |
OUT port В1 |
Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1) |
ПМ3+20 |
JMP ПМ3+120 |
Возврат в ГПМ |
1 |
|
|
2 |
|
|
3 |
IN port C1 |
Чтение из порта С(3) интерфейса 1 в А |
4 |
ANI 088 |
Выделение из А третьего разряда |
5 |
|
|
6 |
CPI 008 |
Сравниваем А с нулём |
7 |
|
|
8 |
JZ ПМ3+39 |
Если ноль, переходим по адресу ПМ3+39 |
9 |
|
|
ПМ3+30 |
|
|
1 |
IN port C1 |
Если не ноль, то чтение из порта С(4) интерфейса 1 в А |
2 |
ANI 108 |
Выделение из А четвёртого разряда |
3 |
|
|
4 |
CPI 008 |
Сравниваем А с нулём |
5 |
|
|
6 |
JNZ ПМ3+2 |
Если не ноль, то переход по адресу ПМ3+2 |
7 |
|
|
8 |
|
|
9 |
MVI А, 018 |
Заслать содержимое 00000001 в А |
ПМ3+40 |
|
|
1 |
OUT port B2 |
Передать содержимое А в порт B(0) интерфейса 2 |
2 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
3 |
|
|
4 |
|
|
5 |
IN port C1 |
Чтение из порта С(2) интерфейса 1 в А |
6 |
ANI 048 |
Выделение из А второго разряда |
7 |
|
|
8 |
CPI 008 |
Сравниваем А с нулём |
9 |
|
|
ПМ3+50 |
JNZ ПМ3+62 |
Если не ноль, переходим по адресу ПМ3+62 |
1 |
|
|
2 |
|
|
3 |
MVI A, 5F8 |
Заслать в А 01011111 (первая цифра = 9 на Табло 1) |
4 |
|
|
5 |
OUT port A1 |
Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1) |
6 |
MVI A, 008 |
Заслать в А 00000000 (вторая цифра = 0 на Табло 1) |
7 |
|
|
8 |
OUT port В1 |
Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1) |
9 |
JMP ПМ3+120 |
Возврат в ГПМ |
ПМ3+60 |
|
|
1 |
|
|
2 |
IN port C1 |
Чтение из порта С(3) интерфейса 1 в А |
3 |
ANI 088 |
Выделение из А третьего разряда |
4 |
|
|
5 |
CPI 008 |
Сравниваем А с нулём |
6 |
|
|
7 |
JZ ПМ3+78 |
Если ноль, переходим по адресу ПМ3+78 |
8 |
|
|
9 |
|
|
ПМ3+70 |
IN port C1 |
Если не ноль, то чтение из порта С(4) интерфейса 1 в А |
1 |
ANI 108 |
Выделение из А четвёртого разряда |
2 |
|
|
3 |
CPI 008 |
Сравниваем А с нулём |
4 |
|
|
5 |
JNZ ПМ3+41 |
Если не ноль, то переход по адресу ПМ3+41 |
6 |
|
|
7 |
|
|
8 |
MVI А, 408 |
Заслать содержимое 00000010 в А |
9 |
|
|
ПМ3+80 |
OUT port B2 |
Передать содержимое А в порт B(1) интерфейса 2 |
1 |
CALL ПМТ10+0 |
Обращение к ПМТ10 (задержка на 10 секунд) |
2 |
|
|
3 |
|
|
4 |
IN port C1 |
Чтение из порта С(2) интерфейса 1 в А |
5 |
ANI 048 |
Выделение из А второго разряда |
6 |
|
|
7 |
CPI 008 |
Сравниваем А с нулём |
8 |
|
|
9 |
JNZ ПМ3+101 |
Если не ноль, переходим по адресу ПМ3+101 |
ПМ3+90 |
|
|
1 |
|
|
2 |
MVI A, 5F8 |
Заслать в А 01011111 (первая цифра = 9 на Табло 1) |
3 |
|
|
4 |
OUT port A1 |
Передать содержимое А в порт А интерфейса 1 (вывод первой цифры на Табло 1) |
5 |
MVI A, 5F8 |
Заслать в А 01011111(вторая цифра = 9 на Табло 1) |
6 |
|
|
7 |
OUT port В1 |
Передать содержимое А в порт В интерфейса 1 (вывод второй цифры на Табло 1) |
8 |
JMP ПМ3+120 |
Возврат в ГПМ |
9 |
|
|
ПМ3+100 |
|
|
1 |
IN port C1 |
Чтение из порта С(3) интерфейса 1 в А |
2 |
ANI 088 |
Выделение из А третьего разряда |
3 |
|
|
4 |
CPI 00 |
Сравниваем А с нулём |
5 |
|
|
6 |
JZ ПМ3+117 |
Если ноль, переходим по адресу ПМ3+117 |
7 |
|
|
8 |
|
|
9 |
IN port C1 |
Если не ноль, то чтение из порта С(4) интерфейса 1 в А |
ПМ3+110 |
ANI 108 |
Выделение из А четвёртого разряда |
1 |
|
|
2 |
CPI 00 |
Сравниваем А с нулём |
3 |
|
|
4 |
JNZ ПМ3+80 |
Если не ноль, то переход по адресу ПМ3+80 |
5 |
|
|
6 |
|
|
7 |
MVI А, 028 |
Заслать содержимое 00001000 в А |
8 |
|
|
9 |
OUT port В2 |
Передать содержимое А в порт В(3) интерфейса 2 |
ПМ3+120 |
RET |
Возврат в ГПМ |
ПМТ10
ПМТ10+0 |
LXI HL, 001016 |
Загружаем в HL адрес ОЗУ+001016 |
1 |
|
|
2 |
|
|
3 |
MVI M, 008 |
Обнуляем счетчик1 |
4 |
|
|
5 |
LXI HL, 001116 |
Загружаем в HL адрес ОЗУ+001116 |
6 |
|
|
7 |
|
|
8 |
MVI M, 008 |
Обнуляем счетчик2 |
9 |
|
|
ПМТ10+10 |
LXI HL, 001216 |
Загружаем в HL адрес ОЗУ+001216 |
1 |
|
|
2 |
|
|
3 |
MVI M, 008 |
Обнуляем счетчик3 |
4 |
|
|
5 |
NOP |
|
6 |
NOP |
|
7 |
NOP |
|
8 |
INR M |
Инкрементируем счетчик3 |
9 |
MVI A, FF8 |
Заносим число 25510 в аккумулятор |
ПМТ10+20 |
|
|
1 |
CMP M |
Сравниваем счетчик 3 с числом 25510 |
2 |
JNZ ПМТ10+15 |
Если счетчик3 ≠ 25510, переход по адресу ПМТ10+15 |
3 |
|
|
4 |
|
|
5 |
LXI HL, 001116 |
Загружаем в HL адрес ОЗУ+001116 |
6 |
|
|
7 |
|
|
8 |
INR M |
Инкрементируем счетчик2 |
9 |
MVI A, 408 |
Заносим число 6410 в аккумулятор |
ПМТ10+30 |
|
|
1 |
CMP M |
Сравниваем счетчик2 с числом 6410 |
2 |
JNZ ПМТ10+10 |
Если счетчик2 ≠ 6410, переход по адресу ПМТ10+10 |
3 |
|
|
4 |
|
|
5 |
LXI HL, 001016 |
Загружаем в HL адрес ОЗУ+001016 |
6 |
|
|
7 |
|
|
8 |
INR M |
Инкрементируем счетчик1 |
9 |
MVI A, 648 |
Заносим в аккумулятор число 10010 |
ПМТ10+40 |
|
|
1 |
CMP M |
Сравниваем счетчик1 с числом 10010 |
2 |
JNZ ПМТ10+05 |
Если счетчик1 ≠ 1010, переход по адресу ПМТ10+05 |
3 |
|
|
4 |
|
|
5 |
RET |
Выход из программного модуля ПМТ10 |
