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-кодов нажимаемых клавиш.
Листинг:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.