Міністерство Освіти І НАУКИ України
Національний університет "Львівська політехніка"
Кафедра САПР
ЗВІТ
ДО ЛАБОРАТОРНОЇ РОБОТИ № 4
На тему: «Організація програм, підпрограм і способи передачі параметрів в одно кристальному МП КР580»
З дисципліни : «Архітектура комп’ютерів»
Виконав:
Студент групи КН - 3
ЛЬВІВ – 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
Після компілювання і лінкування програми завантажуємо її у відлагоджувач і перевіряємо чи знаходиться наша програма в пам'яті:
Для виконання програми і виведення результатів її роботи виконуємо покрокове трасування програми:
Виводимо вміст комірок пам'яті в які ми зберігали дані:
КАРТА ПАМЯТІ
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
ВИСНОВОК:
Під час виконання лабораторної роботи я вивчив команди переходів, виклику і повернення із підпрограми, способи передачі параметрів і отримав практичні навики програмування з використанням підпрограм. Мною була створена програма яка виконує перевірку введеного даного на парність, і в залежності від того парне чи непарне дане виконує різні дії.