Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
50
Добавлен:
30.05.2015
Размер:
16.56 Кб
Скачать

Программа:

метка

мнемокод

комментарий

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

Переход к началу программы

Соседние файлы в папке курсач бегущая строка