Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний університет "Львівська політехніка"
ЗВІТ
ДО ЛАБОРАТОРНОЇ РОБОТИ № 3
З КУРСУ "МІКРОПРОЦЕСОРНІ ПРИСТРОЇ"
ПІДПРОГРАМА І СТЕК
РОЗРОБЛЕННЯ ПРОСТИХ ПРОГРАМ
Мета роботи – дослідження особливостей складання підпрограм та звертання до них; вивчення методів розроблення програм та використання стеку при створенні програм.
Програма затримки на 5 мс
Адреса
Машинний код
Мітка
Мнемокод
Коментар
*
*
*
*
CD5082
CALL Delay
Виклик п/п часової затримки Delay.
*
*
*
8250
41
Delay
MVI B,08
Записати число в регістр B.
8252
00
M1
NOP
Нема операції.
8253
00
NOP
Нема операції.
8254
00
NOP
Нема операції.
8255
00
NOP
Нема операції.
8257
M2
MVI C,C1
Записати число в регістр C.
8258
00
NOP
Нема операції.
8259
00
NOP
Нема операції.
825A
00
NOP
Нема операції.
825B
00
NOP
Нема операції.
825C
M3
MVI A,C1
Записати число в регістр A.
825E
00
NOP
Нема операції.
825F
00
NOP
Нема операції.
8220
00
NOP
Нема операції.
8221
00
NOP
Нема операції.
8222
05
DCR A
Зменшити число в регістрі A на 1.
8223
C25182
JNZ M3
Якщо число в регістрі A(0, то іти на M3
8226
05
DCR C
Зменшити число в регістрі C на 1.
8227
C25182
JNZ M2
Якщо число в регістрі A(0, то іти на M3
822A
05
DCR B
Зменшити число в регістрі B на 1.
822B
C25182
JNZ M1
Якщо число в регістрі A(0, то іти на M3
822E
C9
RET
Повернення в основну програму.
Таблиця станів регістрів при рівній кількості команд PUSH і POP
Адреса
A
B
C
D
E
F
H
L
8200
AC
0F
10
82
3E
4A
7B
90
8203
AC
0F
10
82
3E
4A
7B
90
8206
AC
0F
10
82
3E
4A
7B
90
8207
AC
0F
10
82
3E
4A
7B
90
8208
AC
0F
10
82
3E
4A
7B
90
8209
AC
0F
10
82
3E
4A
7B
90
820A
AC
0F
10
82
3E
4A
7B
90
820B
AC
0F
10
82
3E
4A
7B
90
820D
05
0F
10
82
3E
4A
7B
90
820E
05
05
10
82
3E
4A
7B
90
820F
0A
05
10
82
3E
06
7B
90
8210
0A
05
10
82
0A
06
7B
90
8211
0A
05
10
82
0A
06
0A
90
8212
0A
05
10
82
0A
06
7B
90
8213
0A
05
10
82
3E
06
7B
90
8214
0A
0F
10
82
3E
06
7B
90
8215
AC
0F
10
82
3E
4A
7B
90
Таблиця ,якщо останню команду POP замінити на NOP
Адреса
A
B
C
D
E
F
H
L
8213
0A
0F
10
82
3E
4A
7B
90
8214
0A
0F
10
82
3E
4A
7B
90
8215
0A
0F
10
82
3E
4A
7B
90
Висновок : виконавши цю лабораторну роботу я навчився використовувати підпрограми для складання більших програм і користуватися стеком
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!