Индивидуальное задание 2
Реализовать программный секундомер (статическая индикация).
Алгоритм программы:
Текст программы:
Для хранения количества минут используется регистр E. Количества десятков секунд- регистр D, секунд- регистр C, десятых секунд- регистр B. В подпрограмме временной задержки для хранения количества итераций используется регистровая пара BC (количество секунд и десятых секунд предварительно помещается в стек).
Адрес |
Код |
Мнемоника |
Адрес |
Код |
Мнемоника |
Адрес |
Код |
Мнемоника |
000 |
001 |
LXI B |
050 |
376 |
CPI |
116 |
376 |
CPI |
001 |
000 |
B2 |
051 |
006 |
B2 |
117 |
012 |
B2 |
002 |
000 |
B3 |
052 |
302 |
JNZ |
120 |
302 |
JNZ |
003 |
021 |
LXI D |
053 |
036 |
B2 |
121 |
104 |
B2 |
004 |
000 |
B2 |
054 |
000 |
B3 |
122 |
000 |
B3 |
005 |
000 |
B3 |
055 |
026 |
MVI D |
123 |
006 |
MVI B |
006 |
041 |
LXI H |
056 |
000 |
B2 |
124 |
000 |
B2 |
007 |
152 |
B2 |
057 |
311 |
RET |
125 |
311 |
RET |
010 |
000 |
B3 |
060 |
171 |
MOV A,C |
126 |
345 |
PUSH H |
011 |
061 |
LXI SP |
061 |
315 |
CALL |
127 |
205 |
ADD L |
012 |
200 |
B2 |
062 |
126 |
B2 |
130 |
157 |
MOV L,A |
013 |
000 |
B3 |
063 |
000 |
B3 |
131 |
176 |
MOV A,M |
014 |
173 |
MOV A,E |
064 |
323 |
OUT |
132 |
341 |
POP H |
015 |
315 |
CALL |
065 |
374 |
port |
133 |
311 |
RET |
016 |
126 |
B2 |
066 |
315 |
CALL |
134 |
305 |
PUSH B |
017 |
000 |
B3 |
067 |
103 |
B2 |
135 |
001 |
LXI B |
020 |
323 |
OUT |
070 |
000 |
B3 |
136 |
012 |
B2 |
021 |
376 |
port |
071 |
014 |
INR C |
137 |
041 |
B3 |
022 |
315 |
CALL |
072 |
171 |
MOV A,C |
140 |
015 |
DCR C |
023 |
035 |
B2 |
073 |
376 |
CPI |
141 |
302 |
JNZ |
024 |
000 |
B3 |
074 |
012 |
B2 |
142 |
140 |
B2 |
025 |
034 |
INR E |
075 |
302 |
JNZ |
143 |
000 |
B3 |
026 |
173 |
MOV A,E |
076 |
061 |
B2 |
144 |
005 |
DCR B |
027 |
376 |
CPI |
077 |
000 |
B3 |
145 |
302 |
JNZ |
030 |
012 |
B2 |
100 |
016 |
MVI C |
146 |
140 |
B2 |
031 |
302 |
JNZ |
101 |
000 |
B2 |
147 |
000 |
B3 |
032 |
015 |
B2 |
102 |
311 |
RET |
150 |
301 |
POP B |
033 |
000 |
B3 |
103 |
170 |
MOV A,B |
151 |
311 |
RET |
034 |
166 |
HLT |
104 |
315 |
CALL |
152 |
077 |
|
035 |
172 |
MOV A,D |
105 |
126 |
B2 |
153 |
006 |
|
036 |
315 |
CALL |
106 |
000 |
B3 |
154 |
133 |
|
037 |
126 |
B2 |
107 |
323 |
OUT |
155 |
117 |
|
040 |
000 |
B3 |
110 |
373 |
port |
156 |
146 |
|
041 |
323 |
OUT |
111 |
315 |
CALL |
157 |
155 |
|
042 |
375 |
port |
112 |
134 |
B2 |
160 |
175 |
|
043 |
315 |
CALL |
113 |
000 |
B3 |
161 |
007 |
|
044 |
060 |
B2 |
114 |
004 |
INR B |
162 |
177 |
|
045 |
000 |
B3 |
115 |
170 |
MOV A,B |
163 |
157 |
|
046 |
024 |
INR D |
||||||
047 |
172 |
MOV A,D |
Вывод:
В ходе выполнения тестовых и индивидуальных заданий была изучена работа и организация систем на основе однокристальных микропроцессоров КР580ВМ80. Также были приобретены навыки в их программировании. К580 – является прототипом процессора 8080 фирмы Intel, поэтому мнемоника команд напоминает программирование на ассемблере. Конечно, в количестве команд он уступает своим последователям, однако принципы организации стека, регистров и других элементов остаются теми же.
Создание программы секундомера позволило ознакомиться со средством организации интерфейса микропроцессорных систем.
Таким образом, исследование однокристальных микропроцессоров сформировало представление о том, как работают современные микропроцессоры.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.