Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
Кафедра САПР
ЗВІТ
ДО ЛАБОРАТОРНОЇ РОБОТИ № 5
На тему: «Операції множення та ділення цілих беззнакових та знакових чисел однокристального МП 8080 (КР580ВМ80А)»
З дисципліни : «Архітектура комп’ютерів»
ЛЬВІВ – 2007
Тема роботи: Операції множення та ділення цілих беззнакових та знакових чисел однокристального МП 8080 (КР580ВМ80А).
Мета роботи: Вивчити алгоритми виконання операцій множення та ділення цілих беззнакових і цілих знакових чисел для однокристального мікропроцесора Intel 8080 (КР580ВМ80А), набути практичних навиків складання та налагоджування програм з використанням цих алгоритмів.
ТЕОРЕТИЧНІ ВІДОМОСТІ
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
ЛАБОРАТОРНЕ ЗАВДАННЯ:
Виконати операцію множення цілих знакових чисел 9 * 14 за алгоритмом множення знакових чисел, результат записати в пам’ять.
ХІД РОБОТИ:
Алгоритм множення знакових чисел:
0000 0000 0000 1001 9 0009h
0000 0000 0000 1110 * 14 000Eh
0000 0000 0000 0000 -> 0000h
0000 0000 0000 0000 0000h
+ 0000 0001 0010 0000 0120h
0000 0001 0010 0000 -> 0120h
0000 0000 1001 0000 0090h
+ 0000 0001 0010 0000 0120h
0000 0001 1011 0000 -> 01B0h
0000 0000 1101 1000 00D8h
+ 0000 0001 0010 0000 0120h
0000 0001 1111 1000 -> 01F8h
0000 0000 1111 1100 -> 00FCh
0000 0000 0111 1110 126 007Eh
Для реалізації поставленого завдання була розроблена наступна програма:
ORG 100H
; заносимо початкові дані
LXI H,9
MVI A,14
MVI B,5
LXI SP,0150h
; зсуваємо множене на 5 позицій вліво
DAD H
DAD H
DAD H
DAD H
DAD H
; зберігаємо HL
PUSH H
; H<->D, L<->E
XCHG
; початок циклу
ALGO: RRC
JNC ZSUV
; додаємо множене до результату
DAD D
PUSH H
; зсуваємо результат вправо
ZSUV: PUSH A
MOV A,H
RAR
MOV H,A
STA 150h
MOV A,L
RAR
MOV L,A
STA 151h
POP A
PUSH H
DCR B
JNZ ALGO
HLT
Після компілювання і лінкування програми завантажуємо її у відлагоджувач і перевіряємо чи знаходиться наша програма в пам'яті:
Для виконання програми і виведення результатів її роботи виконуємо покрокове трасування програми:
Виводимо на екран вміст комірок пам'яті в які ми зберігали дані:
КАРТА ПАМЯТІ
Адреса
Дані
Коментар
H
D
B
H
D
B
14F
335
1 0100 1111
01
1
0000 0001
зсуваємо множене на 5 позицій вліво 0009h->0120h
14E
334
1 0100 1110
20
32
0010 0000
14D
333
1 0100 1101
00
0
0000 0000
зсуваємо результат вправо
0000h->0000h
14C
332
1 0100 1100
00
0
0000 0000
14B
331
1 0100 1011
01
1
0000 0001
додаємо множене до результату 0120h+0000h=0120h
14A
330
1 0100 1010
20
32
0010 0000
149
329
1 0100 1001
00
0
0000 0000
зсуваємо результат вправо
0120h->0090h
148
328
1 0100 1000
90
144
1001 0000
147
327
1 0100 0111
01
1
0000 0001
додаємо множене до результату 0120h+0090h=01B0h
146
326
1 0100 0110
B0
176
1011 0000
145
325
1 0100 0101
00
0
0000 0000
зсуваємо результат вправо
01B0h ->00D8h
144
324
1 0100 0100
D8
216
1101 1000
143
323
1 0100 0011
01
1
0000 0001
додаємо множене до результату 0120h+00D8h=01F8h
142
322
1 0100 0010
F8
248
1111 1000
141
321
1 0100 0001
00
0
0000 0000
зсуваємо результат вправо
01F8h ->00FCh
140
320
1 0100 0000
FC
252
1111 1100
13F
319
1 0011 1111
00
0
0000 0000
зсуваємо результат вправо
00FCh ->007Eh
13E
318
1 0011 1110
7E
126
0111 1110
150
336
1 0101 0000
00
00
0000 0000
Результат: 9 * 14 =126
151
337
1 0101 0001
7E
126
0111 1110
PRN ФАЙЛ:
0100 ORG 100H
0100 210900 LXI H,9
0103 3E0E MVI A,14
0105 0605 MVI B,5
0107 315001 LXI SP,0150H
010A 29 DAD H
010B 29 DAD H
010C 29 DAD H
010D 29 DAD H
010E 29 DAD H
010F E5 PUSH H
0110 EB XCHG
0111 0F ALGO: RRC
0112 D21701 JNC ZSUV
0115 19 DAD D
0116 E5 PUSH H
0117 F5 ZSUV: PUSH A
0118 7C MOV A,H
0119 1F RAR
011A 67 MOV H,A
011B 325001 STA 150H
011E 7D MOV A,L
011F 1F RAR
0120 6F MOV L,A
0121 325101 STA 151H
0124 F1 POP A
0125 E5 PUSH H
0126 05 DCR B
0127 C21101 JNZ ALGO
012A 76 HLT
ВИСНОВОК:
Під час виконання лабораторної роботи я вивчив алгоритми виконання операцій множення та ділення цілих беззнакових і цілих знакових чисел для однокристального мікропроцесора Intel 8080 (КР580ВМ80А), набув практичних навиків складання та налагоджування програм з використанням цих алгоритмів.
Мною була створена програма яка виконує операцію множення цілих знакових чисел за алгоритмом множення знакових чисел.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!