МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
Кафедра САПР
ЗВІТ
ДО ЛАБОРАТОРНОЇ РОБОТИ № 4
На тему: «Організація програм, підпрограм і способи передачі параметрів в одно кристальному МП КР580»
З дисципліни : «Архітектура комп’ютерів»
ЛЬВІВ – 2007 
Тема роботи:	Організація програм, підпрограм і способи передачі параметрів в одно кристальному МП КР580.
Мета роботи:	Вивчити команди переходів, виклику і повернення із підпрограми, способи передачі параметрів і отримати практичні навики програмування з використанням підпрограм.
ТЕОРЕТИЧНІ ВІДОМОСТІ
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
ЛАБОРАТОРНЕ ЗАВДАННЯ:
Через акумулятор організувавши цикл ввести дані 21 – 26. Виконати алгоритмічні операції організувавши цикл 1 + 2 + 3 + 4 + 5 + 6, якщо 1-е дане парне, в протилежному випадку 6 – 5 – 4 – 3 – 2 – 1. Результат зберегти за адресою 360h.
ХІД РОБОТИ:
Для реалізації поставленого завдання була розроблена наступна програма:
ORG 100H
; заносимо дані в пам’ять
MVI B,6
MVI A,21
PUSH A
LXI H,0150h
VVID:	MOV M,A
	INR A
	INX H
	DCR B
JNZ VVID
; перевіряємо на парність
LXI D,0160h
POP A
RRC
JNC PARNE
JC NEPARNE
; якщо парне здійснюємо додавання 1 + 2 + 3 + 4 + 5 + 6
PARNE:	LXI H,0150h
	MOV A,M
	MVI B,5
	PLUS:	INX H
		ADD M
		STAX D
		INX D
		DCR B
	JNZ PLUS
	STA 360h
JMP EXIT
; якщо не парне здійснюємо віднімання 6 – 5 – 4 – 3 – 2 – 1
NEPARNE:	LXI H,0155h
	MOV A,M
	MVI B,5
	MINUS:	DCX H
		SUB M
		STAX D
		INX D
		DCR B
	JNZ MINUS
	STA 360h
JMP EXIT
EXIT:	HLT
Після компілювання і лінкування програми завантажуємо її у відлагоджувач і перевіряємо чи знаходиться наша програма в пам'яті:
Для виконання програми і виведення результатів її роботи виконуємо покрокове трасування програми:
Виводимо вміст комірок пам'яті в які ми зберігали дані:
КАРТА ПАМЯТІ
Адреса
Дані
Коментар
H
D
B
H
D
B
150
320
1 0100 0000
15
21
0001 0101
Дане 1
151
321
1 0100 0001
16
22
0001 0110
Дане 2
152
322
1 0100 0010
17
23
0001 0111
Дане 3
153
323
1 0100 0011
18
24
0001 1000
Дане 4
154
324
1 0100 0100
19
25
0001 1001
Дане 5
155
325
1 0100 0101
1A
26
0001 1010
Дане 6
160
352
1 0110 0000
1 + 2
01
1
0000 0001
6-5
161
353
1 0110 0001
1+2+3
FE9
-23
 1 1110 1001
6-5-4
162
354
1 0110 0010
1+2+3+4
FD2
-46
1 1101 0010
6-5-4-3
163
355
1 0110 0011
1+2+3+4+5
FBC
-68
1 1011 1100
6-5-4-3-2
164
356
1 0110 0100
1+2+3+4+5+6
FA7
-89
1 1010 0111
6-5-4-3-2-1
360
864
11 0110 0000
Якщо дане 1 парне:
1+2+3+4+5+6 
FA7
-89
1 1010 0111
Якщо дане 1 непарне:
6-5-4-3-2-1
PRN ФАЙЛ:
 0100	ORG 100H
                
 0100 0606	MVI B,6
 0102 3E15	MVI A,21
 0104 F5	PUSH A
 0105 215001	LXI H,0150H
 0108 77	VVID:	MOV M,A
 0109 3C		INR A
 010A 23		INX H
 010B 05		DCR B
 010C C20801	JNZ VVID
                
                
 010F 116001	LXI D,0160H
 0112 F1	POP A
 0113 0F	RRC
 0114 D21A01	JNC PARNE
 0117 DA2E01	JC NEPARNE
                
 011A 215001	PARNE:	LXI H,0150H
 011D 7E		MOV A,M
 011E 0605		MVI B,5
 0120 23		PLUS:	INX H
 0121 86			ADD M
 0122 12			STAX D
 0123 13			INX D
 0124 05			DCR B
 0125 C22001		JNZ PLUS
 0128 326003		STA 360H
 012B C34201	JMP EXIT
                
 012E 215501	NEPARNE:	LXI H,0155H
 0131 7E		MOV A,M
 0132 0605		MVI B,5
 0134 2B		MINUS:	DCX H
 0135 96			SUB M
 0136 12			STAX D
 0137 13			INX D
 0138 05			DCR B
 0139 C23401		JNZ MINUS
 013C 326003		STA 360H
 013F C34201	JMP EXIT
                
 0142 76	EXIT:	HLT
ВИСНОВОК:
Під час виконання лабораторної роботи я вивчив команди переходів, виклику і повернення із підпрограми, способи передачі параметрів і отримав практичні навики програмування з використанням підпрограм. Мною була створена програма яка виконує перевірку введеного даного на парність, і в залежності від того парне чи непарне дане виконує різні дії.