Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
Національний університет Львівська політехніка
Кафедра САПР
Звіт
До лабораторної роботи №5
З курсу “Архітектура комп’ютерів”
На тему:
«Операції множення та ділення цілих беззнакових та знакових чисел однокристального МП 8080 (КР580ВМ80А)».
Тема роботи:
Операції множення та ділення цілих беззнакових та знакових чисел однокристального МП 8080 (КР580ВМ80А).
Мета роботи:
Вивчити алгоритми виконання операцій множення та ділення цілих беззнакових і цілих знакових чисел для однокристального мікропроцесора Intel 8080 (КР580ВМ80А), набути практичних навиків складання та налагоджування програм з використанням цих алгоритмів.
Теоретичні відомості
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Лабораторне завдання:
Виконати ділення 73:6 за поширеним алгоритмом, результат зберегти в регістровій парі B- частка, С- залишок.
Хід роботи
Для реалізації поставленого завдання мною був обраний алгоритм ділення з відновленням залишку і на його основі розроблена наступна програма:
ORG 100H
MVI L,8 ; KILKIST BIT - ITERACIJ CUKLY
MVI C,0
MVI D,6h ; D <- DILNUK
MVI E,49h ; E <- DILENE
LXI SP,150H
POCH: MOV A,E
RAL
MOV E,A
MOV A,C
RAL
SUB D
JNC NEVID
ADD D
NEVID: MOV C,A
CMC
MOV A,B
RAL
MOV B,A
PUSH B
DCR L
JNZ POCH
INR L
HLT
Після набору тексту програми в текстовому редакторі її було збережено у файл Lab5.asm. Після цього скомпільована та злінкована у файл Lab5.com. Пізніше було завантажено скомпільовану програму у відлагоджувач за допомогою команди d Lab5.com., та запущено на виконання командою G.
Після того як програма виконалась мною було перевірено відповідність карти пам’яті та інформації яка знаходилася в комірках за потрібною адресою, та відповідних регістрах.
Карта пам’яті
Адреса
Дані
Коментар
H
D
B
H
D
B
140
320
101000000
01
1
0001
C8
141
321
101000001
0C
12
1100
B8
142
322
101000010
00
0
0000
C7
143
323
101000011
06
06
0110
B7
144
324
101000100
00
00
0000
C6
145
325
101000101
03
3
0011
B6
146
326
101000110
03
3
0011
C5
147
327
101000111
01
1
0001
B5
148
328
101001000
04
4
0100
C4
149
329
101001001
00
0
0000
B4
14A
330
101001010
02
2
0010
C3
14B
331
101001011
00
0
0000
B3
14C
332
101001100
01
1
0001
C2
14D
333
101001101
00
0
0000
B2
14E
334
101001110
00
0
0000
C1
14F
335
101001111
00
0
0000
B1
Prn файл
0100 ORG 100H
0100 2E08 MVI L,8 ; KILKIST BIT - ITERACIJ CUKLY
0102 0E00 MVI C,0 ; Очистити регістр С ; (С)<-0
0104 1606 MVI D,6H ; D <- DILNUK
0106 1E49 MVI E,49H ; E <- DILENE
0108 315001 LXI SP,150H ; Встановлюємо лічильники стеку
010B 7B POCH: MOV A,E ; Передаємо ділене в акумулятор
010C 17 RAL ; Зсуваємо вліво через прапорець переносу
010D 5F MOV E,A ; Повертаємо ділене назад в рег. Е
010E 79 MOV A,C ;Зсуваємо залишок вліво
010F 17 RAL
0110 92 SUB D ;Відняти дільник
0111 D21501 JNC NEVID ; Перехід на мітку NEVID
0114 82 ADD D ; (A)<-(A)+(D)
0115 4F NEVID: MOV C,A ; (C)<-(A)
0116 3F CMC ; інверсія прапорця переносу
0117 78 MOV A,B ; (А)<-(B)
0118 17 RAL ; Зсув вліво через прапорець переносу
0119 47 MOV B,A ; (B)<-(А)
011A C5 PUSH B ;Завантаження в стек регістрової пари BC
011B 2D DCR L ; Декримент L
011C C20B01 JNZ POCH ; Перехід якщо результат не нуль – Z=0
011F 2C INR L ; Збільшити регістр L на 1
0120 76 HLT
Висновок:
Під час виконання лабораторної роботи мною було засвоєно матеріал по темі: “Операції множення та ділення цілих беззнакових та знакових чисел однокристального МП 8080 (КР580ВМ80А)”. Я отримав практичні навички складання і налагодження програм, з використанням алгоритмів ділення та множення цілих беззнакових та знакових чисел однокристального МП 8080 (КР580ВМ80А).
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!