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

курсач бегущая строка / Программа версия 2

.docx
Скачиваний:
49
Добавлен:
30.05.2015
Размер:
18.93 Кб
Скачать

Программа:

метка

мнемокод

комментарий

ORG 0h

Начало???

MVI A, 89h

Инициализация портов

OUT 13h

Порт А выход, В – выход, С0-С3 вход, С4-С7 вход

L1!

MVI C,1h

Счетчик номера индикатора (номера строки) регистр С, присваиваем значение 1

L1

MOV A,C

Программа опроса клавиатуры

OUT 10h

Посылаем номер индикатора(строки) в порт A

IN 12h

Считываем в аккумулятор???? данные из порта С

CPI C, 7h

Вычитание семерки из номера индикатора

JNZ M1

Если не ноль переход к метке M1

MVI C, 0h

Если ноль обнуляем регистр С

M1

INX C

Инкремент регистра С

CMP A, FF

Вычитание числа FF из значения аккумулятора (если кнопка не нажата в аккумуляторе значение FF)

JZ L1

Если ноль переход к метке L1

DCR C

Идентифицируем символ в пзу

Декремент регистра С

M2

LXI H, 0800

Записываем в регистр H адрес ячейки ПЗУ 0800

CMP M, A

Вычитание значений в памяти и в аккумуляторе

JZ M3

Если ноль переход к метке M3

INX H

INX H

JMP M2

Переход к метке М2

M3

INX H

INX H

DCR С

CPI C, 0h

JNZ M3

Считаем какой по счету нажатый символ. + сброс

MVI B, 7h

Счетчик символов регистр В, присваиваем ему значение 7

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

Все сбросили венулись в начало

MOV A, M

Записать данные из ячейки памяти в аккумулятор

OUT 11h

Отправить данные из аккумулятора в порт В

??? MVI L, 0h

Счетчик номера индикатора регистр С, присваиваем значение 0

MVI A, L

Записываем значение регистра С в аккумулятор

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 L

Инкремент номера индикатора

CPI С, 7??h

Вычитание значения регистра L и числа 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

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

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