курсач бегущая строка / Программа
.docxПрограмма:
|
метка |
мнемокод |
комментарий |
|
|
ORG 0h |
Начало??? |
|
|
MVI A, 89h |
Инициализация портов |
|
|
OUT 13h |
Порт А выход, В – выход, С0-С3 вход, С4-С7 вход |
|
L1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MVI B, 8h |
Счетчик символов регистр В, присваиваем ему значение 8 |
|
|
DCR B |
Декремент счетчика символов |
|
|
JNZ L2 |
Переход к метке L2 если не ноль |
|
|
MVI А,00Н |
сброс индикаторов |
|
|
OUT 11h |
|
|
|
LXI H, 0000h |
Обнуляем озу |
|
|
MVI D, 80h |
|
|
L9 |
MOV M, A |
|
|
|
INX H |
|
|
|
DCR D |
|
|
|
JNZ L9 |
|
|
|
JMP L1 |
|
|
L2 |
IN A, 12h |
Считываем данные из порта С в аккумулятор |
|
|
LXI H,0800H |
загрузка в пару HL -адреса памяти |
|
L4 |
CMP M, A |
Вычитание значения аккумулятора и ячейки памяти ПЗУ |
|
|
JZ L3 |
Переход к метке L3 если ноль |
|
|
INX H |
|
|
|
INX H |
|
|
|
JMP L4 |
Переход к метке L4 |
|
L3 |
INX H |
Увеличиваем адрес, чтобы считать семисегментный код символа |
|
|
MVI A, H |
Записать данные из ячейки памяти в аккумулятор |
|
|
OUT 11h |
Отправить данные из аккумулятора в порт В |
|
|
MVI C, 0h |
Счетчик номера индикатора регистр С, присваиваем значение 0 |
|
|
MVI A, C |
Записываем значение регистра С в аккумулятор |
|
L |
OUT 10h |
Отправляем номер индикатора в порт А |
|
|
MVI E,FF |
Начало программы создания временной задержки |
|
L6: |
MVI D,FF |
|
|
L5: |
NOP |
|
|
|
DCR D |
|
|
|
JNZ L5 |
|
|
|
DCR E |
|
|
|
JNZ L6 |
|
|
|
MVI А,00Н |
Гашение индикатора |
|
|
OUT 11h |
|
|
|
INX C |
Инкремент номера индикатора |
|
|
CPI С, 6h |
Вычитание значения регистра С и числа 6 |
|
|
JNZ L7 |
Переход к метке L7 если не ноль |
|
|
МVI C, 0h |
Обнуляем номер индикатора |
|
L7 |
LXI H, 0000h |
Меняем значения ячеек памяти ОЗУ |
|
|
MOV A, H |
|
|
|
MOV E, A |
|
|
|
MVI D, 06h |
|
|
|
LXI H, 0001h |
|
|
L8 |
MOV A, H |
|
|
|
DCR H |
|
|
|
MOV M, A |
|
|
|
INX H |
|
|
|
INX H |
|
|
|
DCR D |
|
|
|
JNZ L8 |
|
|
|
LXI H, 0006h |
|
|
|
MOV A, E |
|
|
|
MOV M, A |
|
|
|
JMP L1 |
Переход к началу программы |
