Алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному МП 8080 (КР580ВМ80А

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра САПР

Інформація про роботу

Рік:
2007
Тип роботи:
Звіт
Предмет:
Архітектура комп'ютерів
Група:
КН

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет Львівська політехніка Кафедра САПР  Звіт До лабораторної роботи №7 З курсу “Архітектура комп’ютерів” На тему: «Алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному МП 8080 (КР580ВМ80А)». Тема роботи: Алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному МП 8080 (КР580ВМ80А). Мета роботи: Вивчити алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному МП Intel 8080 (КР580ВМ80А). Набути практичних навиків складання та налагоджування програм виконання операцій додавання\віднімання та множення\ділення багаторозрядних чисел з використанням цих алгоритмів. Теоретичні відомості ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Лабораторне завдання: Виконати арифметичні операції над багаторозрядними числами: (115*269+7114/55)/31. Хід роботи Для реалізації поставленого завдання мною був обраний алгоритм ділення з відновленням залишку, алгоритм безпосереднього множення і на їх основі розроблена наступна програма: LAB7A.ASM ORG 100H LXI H,269 MVI A,115 MVI B,8 XCHG LOOP: RRC JNC ZSUV DAD D ZSUV: PUSH H MOV H,D MOV L,E DAD D XCHG POP H DCR B JNZ LOOP MOV A,H STA 200H MOV A,L STA 201H HLT LAB7B.ASM org 100h LXI H,7114 LXI D,55 CALL DILENNIA MOV A,L STA 202H LXI H,0D778H SHLD 200H LXI H,201H MOV C,M LDA 202H ADD C STA 204H LDA 200H ACI 0 STA 203H LXI H,203H MOV D,M LXI H,204H MOV E,M XCHG LXI D,31 CALL DILENNIA JMP KINEC DILENNIA: MOV A,E ORA A RZ MOV C,L MOV B,H LXI H,0 MVI A,16 ORA A LOOP: STA 300H MOV A,C RAL MOV C,A MOV A,B RAL MOV B,A MOV A,L RAL MOV L,A MOV A,H RAL MOV H,A PUSH H MOV A,L SUB E MOV L,A MOV A, H SBB D MOV H,A CMC JC NOREC XTHL NOREC: INX SP INX SP LDA 300H DCR A JNZ LOOP XCHG MOV A,C RAL MOV L,A MOV A,B RAL MOV H,A XRA A INR A RET KINEC: MOV A,L STA 206H MOV A,H STA 205H HLT Після набору тексту програми в текстовому редакторі її було збережено у файл LAB7A.ASM, та у файл LAB7B.ASM. Після цього скомпільована та злінкована у файл LAB7A.com, та LAB7B.com відповідно. Пізніше було завантажено скомпільовану програму LAB7A.com у відлагоджувач, яка реалізує операцію множення, та зберігає результат у комірках памяті 200Н, 201Н. Після того як програма виконалась мною було перевірено відповідність карти пам’яті та інформації яка знаходиться в комірках за потрібною адресою.  Пізніше було завантажено скомпільовану програму LAB7В.com у відлагоджувач, дана частина реалізує операцію ділення та додавання, та зберігає проміжні і загальні результати у комірках памяті 202Н, 203Н, 204Н, 205Н, 206Н, 207Н.  Карта пам’яті Адреса Дані Коментар  H D B H D B   200 512 1000000000 78 30935 1111000 Результат множення  201 513 1000000001 D7  11010111   202 514 1000000010 81 129 10000001 Результат ділення  203 515 1000000011 79 31064 1111001 Результат додавання  204 516 1000000100 58  1011000   205 517 1000000101 03 1002 11 Кінцевий результат  206 518 1000000110 ЕА  11101010    Prn файли LAB7A.PRN 0100 ORG 100H 0100 210D01 LXI H,269 0103 3E73 MVI A,115 0105 0608 MVI B,8 0107 EB XCHG ; Реалізація алгоритму множення 0108 0F LOOP: RRC 0109 D20D01 JNC ZSUV 010C 19 DAD D ZSUV: ; Підпрограма зсуву 010D E5 PUSH H 010E 62 MOV H,D 010F 6B MOV L,E 0110 19 DAD D 0111 EB XCHG 0112 E1 POP H 0113 05 DCR B 0114 C20801 JNZ LOOP 0117 7C MOV A,H ; Збереження результату 0118 320002 STA 200H 011B 7D MOV A,L 011C 320102 STA 201H 011F 76 HLT LAB7B.PRN 0100 ORG 100H 0100 21CA1B LXI H,7114 0103 113700 LXI D,55 0106 CD3801 CALL DILENNIA ;Виклик підпрограми ділення 0109 7D MOV A,L ; Збереження результату в память 010A 320202 STA 202H 010D 2178D7 LXI H,0D778H ; Запис результату виконання попередньої програми в память 0110 220002 SHLD 200H ; Реалізація додавання 0113 210102 LXI H,201H 0116 4E MOV C,M 0117 3A0202 LDA 202H 011A 81 ADD C 011B 320402 STA 204H ; Збереження молодшого розряду результату додавання 011E 3A0002 LDA 200H 0121 CE00 ACI 0 0123 320302 STA 203H ; Збереження старшого розряду результату додавання 0126 210302 LXI H,203H 0129 56 MOV D,M 012A 210402 LXI H,204H 012D 5E MOV E,M 012E EB XCHG 012F 111F00 LXI D,31 0132 CD3801 CALL DILENNIA ; Виклик підпрограми ділення 0135 C37101 JMP KINEC ; Безумовний перехід на мітку кінець DILENNIA: ; Реалізація підпрограми ділення 0138 7B MOV A,E 0139 B7 ORA A 013A C8 RZ 013B 4D MOV C,L 013C 44 MOV B,H 013D 210000 LXI H,0 0140 3E10 MVI A,16 0142 B7 ORA A LOOP: 0143 320003 STA 300H 0146 79 MOV A,C 0147 17 RAL 0148 4F MOV C,A 0149 78 MOV A,B 014A 17 RAL 014B 47 MOV B,A 014C 7D MOV A,L 014D 17 RAL 014E 6F MOV L,A 014F 7C MOV A,H 0150 17 RAL 0151 67 MOV H,A 0152 E5 PUSH H 0153 7D MOV A,L 0154 93 SUB E 0155 6F MOV L,A 0156 7C MOV A, H 0157 9A SBB D 0158 67 MOV H,A 0159 3F CMC 015A DA5E01 JC NOREC 015D E3 XTHL NOREC: 015E 33 INX SP 015F 33 INX SP 0160 3A0003 LDA 300H 0163 3D DCR A 0164 C24301 JNZ LOOP 0167 EB XCHG 0168 79 MOV A,C 0169 17 RAL 016A 6F MOV L,A 016B 78 MOV A,B 016C 17 RAL 016D 67 MOV H,A 016E AF XRA A 016F 3C INR A 0170 C9 RET KINEC: 0171 7D MOV A,L ; Збереження загального результату в память 0172 320602 STA 206H 0175 7C MOV A,H 0176 320502 STA 205H Висновок: Під час виконання лабораторної роботи мною було засвоєно матеріал по темі: “Алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному МП 8080 (КР580ВМ80А)”. Я отримав практичні навички складання і налагодження програм виконання операцій додавання\віднімання та множення\ділення багаторозрядних чисел з використанням цих алгоритмів.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!