Изучение особенностей функционирования микропроцессора при выполнении команд ввода и вывода информации. Программное управление клавиатурой и дисплеем УМК, страница 2

0800

00

00

Сохраняем данные после опроса клавиатуры

0801

64

64

Строка №1

0802

06

3F

Семисегментный код “0”

0803

34

34

Строка №2

0804

5B

66

Семисегментный код “4”

0805

54

54

Строка №3

0806

4F

7F

Семисегментный код “8”

0807

70

70

Строка №4

0808

66

39

Семисегментный код “C ”

0809

00

00

Сохраняем номер индикатора

080A

3E

MVI A, data

A←04

080B

04

04

080C

32

STA addr

0809←A

080D

09

09

080E

08

08

080F

21

LXI H, data 16

HL←0801

0810

01

01

0811

08

08

0812

D3

OUT port

F8←A

0813

F8

F8

0814

DB

IN port

A←FA

0815

FA

FA

0816

32

STA addr

0800←A

0817

00

00

0818

08

08

0819

0E

MVI C, data

C←04

081A

04

04

081B

CD

CALL addr

Вызов подпрограммы по адресу 0830

081C

30

30

081D

08

08

081E

0D

DCR C

C=C-1

081F

C2

JNZ addr

Если счетчик C≠0, то перейти в 081B

0820

1B

1B

0821

08

08

0823

1E

MVI E, data

E←04

0824

04

04

0825

7E

MVI A, M

А←M(HL)

0826

07

RLC

Сдвиг на один разряд влево

0827

32

STA addr

0809←A

0828

09

09

0829

08

08

082A

C2

JNZ addr

Если счетчик E≠0, то перейти в 080F

082B

0F

0F

082C

08

08

082D

C3

JMP addr

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

080A

082E

0A

0A

082F

08

08

0830

7E

MOV A, M

А←M(HL)

0831

32

STA addr

083E←A

0832

3E

3E

0833

08

08

0834

23

INX H

HL=HL+1

0835

7E

MOV A, M

А←M(HL)

0836

32

STA addr

0843←A

0837

43

43

0838

08

08

0839

23

INX H

HL=HL+1

083A

3A

LDA addr

A←0800

083B

00

00

083C

08

08

083D

D6

SUI data

A←A-Byte 2

083E

00

Byte 2

083F

C2

JNZ addr

Если результат вычитания не равен нулю, то перейти в 084C

0840

4C

4C

0841

08

08

0842

3E

MVI A, data

А←Byte 2

0843

00

Byte 2

0844

D3

OUT port

F9←A

0845

F9

F9

0846

00

NOP

Задержка

0847

00

NOP

0848

00

NOP

0849

00

NOP

084A

00

NOP

084B

00

NOP

084C

C9

RET

Выход из подпрограммы

Задание: Составить программу выдачи на любые два разряда дисплея H-кодов нажимаемых клавиш.

Листинг: