МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
Національній університет "Львівська політехніка"
Звіт
до лабораторної роботи №7
АЛГОРИТМИ ВИКОНАННЯ АРИФМЕТИЧНИХ ОПЕРАЦІЙ
НАД БАГАТОРОЗРЯДНИМИ ЧИСЛАМИ
В ОДНОКРИСТАЛЬНОМУ МП 8080 (КР580ВМ80А
Виконала
Ст.гр.КН-3
ЛЬВІВ 2006
МЕТА РОБОТИ: вивчити алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному мікропроцесорі Intel 8080 (КР580ВМ80А). Набути практичних навиків складання та налагоджування програм виконання операцій додавання/віднімання та множення/ділення багаторозрядних чисел з використанням цих алгоритмів..
ТЕОРЕТИЧНІ ВІДОМОСТІ
Однокристальний мікропроцесор Intel 8080 (КР580ВМ80А) - 8 розрядний, тобто виконує арифметико-логічні операції над байтами даних. Однак в багатьох застосуваннях МПС 8-біт недостатньо для одержання заданої точності. В МП КР580ВМ80А можна визначити тип даних любого формату (ефективно кратний 8-бітам: 24біти, 32біти,...,1024біти). На основі виконання заданого набору команд, виконання операцій з такими форматами можна здійснювати побайтно у 8-розрядному АЛУ. Тому над числами, що представляються двома і більше байтами, основні арифметичні операції реалізуються програмним шляхом.
Додавання та віднімання багаторозрядних чисел цілого типу
При складанні програм додавання і віднімання багаторозрядних чисел важливу особливість становить організація циклічної частини арифметичної операції. Дані операції спочатку починають виконувати над молодшими байтами (при початковому CY=0), а пізніше над всіма решта (з молодшого до найстаршого) з врахуванням переносів. Основними командами, що забезпечує додавання текучих байтів з врахуванням прапорця переносу CY є команди:
ADC r (A)(A)+(r)+(CY);
ADC M (A)(A)+((H)(L))+(CY);
ACI байт (A)(A)+(байт)+(CY);
віднімання: SBB r (A)(A)-(r)-(CY);
SBB M (A)(A)-((H)(L))-(CY);
SBI байт (A)(A)-(байт)-(CY);
Наведені команди дадавання/віднімання використовують значення переносу CY, сформованого на попередньому повторенні циклу. Тобто, організований цикл багаторозрядної арифметичної операції не повинен містити команд, що можуть змінити значення CY. Якщо внесення в цикл багаторозрядної операції
команд, що впливають на прапорець переносу, необхідне, то попередньо запам'ятовується CY, а перед багаторозрядною операцією - відновлюється.
Множення та ділення багаторозрядних чисел цілого типу
В однокристальному мікропроцесорі Intel 8080 (КР580ВМ80А) у 8 розрядному АЛУ ефективно виконувати операцію множення (4)х(4)=(8) розрядними числами. Відомі способи і алгоритми множення/ділення (алгоритм Бута, ділення з відновленням залишку) виконуються в МПС через команди додавання/віднімання та зсуву багаторозрядних даних
Для богаторозрядних цілих чисел в однокристальному мікропроцесорі КР580ВМ80А можна створити підпрограму множення різноманітних двійкових форматів (8)х(4)=(12), (8)х(8)=(16), (16)х(8)=(24), (16)х(16)=(32) та ін. Множення над двома n1 та n2-бітними співмножниками формує (n1+n2) -розрядний добуток. Підпрограма ділення багаторозрядних чисел більших ніж 8-розрядів може використовувати формати (16):(8), (24):(8), (24):(16), (32):(16) та ін. Ділення над двома n1, n2-бітними співмножниками формує (n1-n2) - розрядну частку.
Однак, перетворення в процесі виконання арифметичних операцій, у випадку великого об'єму вхідних багаторозрядних даних і вихідних результатів, веде до помітних витрат комп'ютерного часу. Тому сучасні скалярні мікропроцесори у вигляді надвеликих інтегральних схем (НВІС) використовують 64-розрядне АЛУ та пакетні форми представлення
Арифметичні операції над числами в форматі з фіксованою комою
В форматі з фіксованою комою відводяться ціла частина і дробова частина у вигляді цілих чисел. Один старший розряд використовається в якості знаку. Кома відділяє цілу частину числа від дробової та займає фіксоване положення. Враховуючи 8-розрядне АЛУ МП КР580ВМ80А, найбільш поширені формати чисел з фіксованою комою, де відведено на цілу і дробову частину по тетраді, байту, слову (4:4, 8:8, 16:16 і тд. ). Можна задати і виконувати операції й в інших форматах, наприклад 6:2, але деякі операції над такими форматами можуть ускладнюватись. Неправильний вибір розрядної сітки може в результаті виконання арифметичних операцій привести до переповнення, що в цьому випадку вимагає масштабування.
Арифметичні операції над числами в форматі з плаваючою комою
Формат представлення чисел з плаваючою комою передбачає представлення числа в показниковій формі: мантиса, основа, порядок. В МПС такі числа представлені у вигляді двох груп чисел: перша група називається мантисою і визначає саме число, друга група пназивається порядком. Якщо задається формат з умовою наявності старшого розряду мантиси не рівного нулю, то маєм нормальну форму представлення. В цій формі запису маєм значно більший діапазон представлення дійсних чисел в порівнянні з такою самою розрядністю чисел з фіксованою комою, але алгоритм виконання арифметичних операцій при цьому ускладнюється. Так, операція додавання або віднімання виконується такою послідовністю:
- вирівнюються порядки доданків, молодший порядок збільшується до більшого порядку одного з доданків;
- виконується перетворення мантис в доповнюючий код, при необхідноcті;
- відповідно, коректується мантиса числа, порядок якого вирівнюється;
- виконується додавання мантис аналогічно алгоритму додавання чисел з фіксованою комою;
- у випадку необхідності виконується нормалізація результату;
- до суми записуєм сформований порядок.
Операція множення в форматі з плаваючою крапкою виконується за такою послідовністю:
- визначається знак добутку;
- перемножуються мантиси співмножників аналогічно алгоритму множення чисел з фіксованою комою;
- визначається порядок добутку за допомогою арифметичної операції додавання цілих чисел зі знаком;
- у випадку необхідності виконується нормалізація результату;
- до суми записуєм сформований порядок.
Ділення в форматі з плаваючою крапкою виконується аналогічно так, як і множення.
Використання набору арифметико-логічних команд МП КР580ВМ80А використовується для виконання арифметичних операцій над багаторозрядними числами, форма представлення і формати яких визначаються на етапі проектування.
Індивідуальне завдання:
Використовуючи арифметичні операції над багаторозряними числами обчислити:
1123- 354 +394/4
org 100h
call init
call sub1
lxi h,30Ah
mvi m,00h
lxi h,30Bh
mvi m,00h
call dil2
lxi h,30Ah
mov a,m
mov d,a
call dil1
lxi h,30Bh
mov a,m
add d
inr a
lxi h,30Eh
mov m,a
lxi h,30Dh
mov a,m
lxi h,30Eh
add m
lxi h,311h
mov m,a
lxi h,30Ch
mov a,m
lxi h,310h
mov m,a
nop
nop
hlt
init: lxi h,300h
mvi m,04
lxi h,301h
mvi m,63h
lxi h,302h
mvi m,01h
lxi h,303h
mvi m,62h
lxi h,304h
mvi m,0ffh
lxi h,305h
mvi m,8Ah
lxi h,306h
mvi m,00h
lxi h,307h
mvi m,0EH
ret
dil1: lxi h,305h
mov a,m
lxi h,307h
sub m
lxi h,305h
mov m,a
jc ex1
lxi h,30Bh
mov a,m
inr a
mov m,a
jmp dil1
ex1: ret
dil2: lxi h,304h
mov a,m
lxi h,307h
sbb m
lxi h,304h
mov m,a
jc ex2
lxi h,30Ah
mov a,m
inr a
mov m,a
jmp dil2
ex2: ret
sub1: lxi h,301h
mov a,m
lxi h,303h
sbb m
lxi h,30Dh
mov m,a
lxi h,300h
mov a,m
lxi h,302h
sbb m
lxi h,30Ch
mov m,a
ret
PRN- код:
0100 ORG 100H
0100 CD3C01 CALL INIT ;процедура,яка заносить дані память
0103 CD9701 CALL SUB1 ;процедура віднімання 2 чисел
0106 210A03 LXI H,30AH
0109 3600 MVI M,00H
010B 210B03 LXI H,30BH
010E 3600 MVI M,00H
0110 CD7E01 CALL DIL2 ; процедура ділення старшої тетради на число
0113 210A03 LXI H,30AH
0116 7E MOV A,M
0117 57 MOV D,A
0118 CD6501 CALL DIL1 ; процедура ділення молодшої тетради на число
011B 210B03 LXI H,30BH ;додаємо результат віднімання до результату
011E 7E MOV A,M ; ділення
011F 82 ADD D
0120 3C INR A
0121 210E03 LXI H,30EH
0124 77 MOV M,A
0125 210D03 LXI H,30DH
0128 7E MOV A,M
0129 210E03 LXI H,30EH
012C 86 ADD M
012D 211103 LXI H,311H
0130 77 MOV M,A
0131 210C03 LXI H,30CH
0134 7E MOV A,M
0135 211003 LXI H,310H
0138 77 MOV M,A
0139 00 NOP
013A 00 NOP
013B 76 HLT
013C 210003 INIT: LXI H,300H ;заносимо наші дані в память
013F 3604 MVI M,04 ;починаючи з адреси 300Н
0141 210103 LXI H,301H
0144 3663 MVI M,63H
0146 210203 LXI H,302H
0149 3601 MVI M,01H
014B 210303 LXI H,303H
014E 3662 MVI M,62H
0150 210403 LXI H,304H
0153 36FF MVI M,0FFH
0155 210503 LXI H,305H
0158 368A MVI M,8AH
015A 210603 LXI H,306H
015D 3600 MVI M,00H
015F 210703 LXI H,307H
0162 360E MVI M,0EH
0164 C9 RET
0165 210503 DIL1: LXI H,305H ;ділимо молодшу тетраду числа 394 на 14
0168 7E MOV A,M
0169 210703 LXI H,307H
016C 96 SUB M
016D 210503 LXI H,305H
0170 77 MOV M,A
0171 DA7D01 JC EX1
0174 210B03 LXI H,30BH
0177 7E MOV A,M
0178 3C INR A
0179 77 MOV M,A
017A C36501 JMP DIL1
017D C9 EX1: RET
017E 210403 DIL2: LXI H,304H ; ділимо старшу тетраду числа 394 на 14
0181 7E MOV A,M
0182 210703 LXI H,307H
0185 9E SBB M
0186 210403 LXI H,304H
0189 77 MOV M,A
018A DA9601 JC EX2
018D 210A03 LXI H,30AH
0190 7E MOV A,M
0191 3C INR A
0192 77 MOV M,A
0193 C37E01 JMP DIL2
0196 C9 EX2: RET
0197 210103 SUB1: LXI H,301H ;віднімаємо від 1123 число 354
019A 7E MOV A,M
019B 210303 LXI H,303H
019E 9E SBB M
019F 210D03 LXI H,30DH
01A2 77 MOV M,A
01A3 210003 LXI H,300H
01A6 7E MOV A,M
01A7 210203 LXI H,302H
01AA 9E SBB M
01AB 210C03 LXI H,30CH
01AE 77 MOV M,A
01AF C9 RET
Результати виконання програми:
C0Z0M1E0I1 A=07 B=0000 D=0000 H=030A S=00FE P=0191 INR A
C0Z0M0E0I0 A=08 B=0000 D=0000 H=030A S=00FE P=0192 MOV M,A
C0Z0M0E0I0 A=08 B=0000 D=0000 H=030A S=00FE P=0193 JMP 017E
C0Z0M0E0I0 A=08 B=0000 D=0000 H=030A S=00FE P=017E LXI H,0304
C0Z0M0E0I0 A=08 B=0000 D=0000 H=0304 S=00FE P=0181 MOV A,M
C0Z0M0E0I0 A=8F B=0000 D=0000 H=0304 S=00FE P=0182 LXI H,0307
C0Z0M0E0I0 A=8F B=0000 D=0000 H=0307 S=00FE P=0185 SBB M
C0Z0M1E1I0 A=81 B=0000 D=0000 H=0307 S=00FE P=0186 LXI H,0304
C0Z0M1E1I0 A=81 B=0000 D=0000 H=0304 S=00FE P=0189 MOV M,A
C0Z0M1E1I0 A=81 B=0000 D=0000 H=0304 S=00FE P=018A JC 0196
C0Z0M1E1I0 A=81 B=0000 D=0000 H=0304 S=00FE P=018D LXI H,030A
C0Z0M1E1I0 A=81 B=0000 D=0000 H=030A S=00FE P=0190 MOV A,M
C0Z0M1E1I0 A=08 B=0000 D=0000 H=030A S=00FE P=0191 INR A
C0Z0M0E1I0 A=09 B=0000 D=0000 H=030A S=00FE P=0192 MOV M,A
C0Z0M0E1I0 A=09 B=0000 D=0000 H=030A S=00FE P=0193 JMP 017E
C0Z0M0E1I0 A=09 B=0000 D=0000 H=030A S=00FE P=017E LXI H,0304
C0Z0M0E1I0 A=09 B=0000 D=0000 H=0304 S=00FE P=0181 MOV A,M
C0Z0M0E1I0 A=81 B=0000 D=0000 H=0304 S=00FE P=0182 LXI H,0307
C0Z0M0E1I0 A=81 B=0000 D=0000 H=0307 S=00FE P=0185 SBB M
C0Z0M0E0I1 A=73 B=0000 D=0000 H=0307 S=00FE P=0186 LXI H,0304
C0Z0M0E0I1 A=73 B=0000 D=0000 H=0304 S=00FE P=0189 MOV M,A
C0Z0M0E0I1 A=73 B=0000 D=0000 H=0304 S=00FE P=018A JC 0196
C0Z0M0E0I1 A=73 B=0000 D=0000 H=0304 S=00FE P=018D LXI H,030A
C0Z0M0E0I1 A=73 B=0000 D=0000 H=030A S=00FE P=0190 MOV A,M
C0Z0M0E0I1 A=09 B=0000 D=0000 H=030A S=00FE P=0191 INR A
C0Z0M0E1I0 A=0A B=0000 D=0000 H=030A S=00FE P=0192 MOV M,A
C0Z0M0E1I0 A=0A B=0000 D=0000 H=030A S=00FE P=0193 JMP 017E
C0Z0M0E1I0 A=0A B=0000 D=0000 H=030A S=00FE P=017E LXI H,0304
C0Z0M0E1I0 A=0A B=0000 D=0000 H=0304 S=00FE P=0181 MOV A,M
C0Z0M0E1I0 A=73 B=0000 D=0000 H=0304 S=00FE P=0182 LXI H,0307
C0Z0M0E1I0 A=73 B=0000 D=0000 H=0307 S=00FE P=0185 SBB M
C0Z0M0E1I1 A=65 B=0000 D=0000 H=0307 S=00FE P=0186 LXI H,0304
C0Z0M0E1I1 A=65 B=0000 D=0000 H=0304 S=00FE P=0189 MOV M,A
C0Z0M0E1I1 A=65 B=0000 D=0000 H=0304 S=00FE P=018A JC 0196
C0Z0M0E1I1 A=65 B=0000 D=0000 H=0304 S=00FE P=018D LXI H,030A
C0Z0M0E1I1 A=65 B=0000 D=0000 H=030A S=00FE P=0190 MOV A,M
C0Z0M0E1I1 A=0A B=0000 D=0000 H=030A S=00FE P=0191 INR A
C0Z0M0E0I0 A=0B B=0000 D=0000 H=030A S=00FE P=0192 MOV M,A
C0Z0M0E0I0 A=0B B=0000 D=0000 H=030A S=00FE P=0193 JMP 017E
C0Z0M0E0I0 A=0B B=0000 D=0000 H=030A S=00FE P=017E LXI H,0304
C0Z0M0E0I0 A=0B B=0000 D=0000 H=0304 S=00FE P=0181 MOV A,M
C0Z0M0E0I0 A=65 B=0000 D=0000 H=0304 S=00FE P=0182 LXI H,0307
C0Z0M0E0I0 A=65 B=0000 D=0000 H=0307 S=00FE P=0185 SBB M
C0Z0M0E0I1 A=57 B=0000 D=0000 H=0307 S=00FE P=0186 LXI H,0304
C0Z0M0E0I1 A=57 B=0000 D=0000 H=0304 S=00FE P=0189 MOV M,A
C0Z0M0E0I1 A=57 B=0000 D=0000 H=0304 S=00FE P=018A JC 0196
C0Z0M0E0I1 A=57 B=0000 D=0000 H=0304 S=00FE P=018D LXI H,030A
C0Z0M0E0I1 A=57 B=0000 D=0000 H=030A S=00FE P=0190 MOV A,M
C0Z0M0E0I1 A=0B B=0000 D=0000 H=030A S=00FE P=0191 INR A
C0Z0M0E1I0 A=0C B=0000 D=0000 H=030A S=00FE P=0192 MOV M,A
C0Z0M0E1I0 A=0C B=0000 D=0000 H=030A S=00FE P=0193 JMP 017E
C0Z0M0E1I0 A=0C B=0000 D=0000 H=030A S=00FE P=017E LXI H,0304
C0Z0M0E1I0 A=0C B=0000 D=0000 H=0304 S=00FE P=0181 MOV A,M
C0Z0M0E1I0 A=57 B=0000 D=0000 H=0304 S=00FE P=0182 LXI H,0307
C0Z0M0E1I0 A=57 B=0000 D=0000 H=0307 S=00FE P=0185 SBB M
C0Z0M0E0I1 A=49 B=0000 D=0000 H=0307 S=00FE P=0186 LXI H,0304
C0Z0M0E0I1 A=49 B=0000 D=0000 H=0304 S=00FE P=0189 MOV M,A
C0Z0M0E0I1 A=49 B=0000 D=0000 H=0304 S=00FE P=018A JC 0196
C0Z0M0E0I1 A=49 B=0000 D=0000 H=0304 S=00FE P=018D LXI H,030A
C0Z0M0E0I1 A=49 B=0000 D=0000 H=030A S=00FE P=0190 MOV A,M
C0Z0M0E0I1 A=0C B=0000 D=0000 H=030A S=00FE P=0191 INR A
C0Z0M0E0I0 A=0D B=0000 D=0000 H=030A S=00FE P=0192 MOV M,A
C0Z0M0E0I0 A=0D B=0000 D=0000 H=030A S=00FE P=0193 JMP 017E
C0Z0M0E0I0 A=0D B=0000 D=0000 H=030A S=00FE P=017E LXI H,0304
C0Z0M0E0I0 A=0D B=0000 D=0000 H=0304 S=00FE P=0181 MOV A,M
C0Z0M0E0I0 A=49 B=0000 D=0000 H=0304 S=00FE P=0182 LXI H,0307
C0Z0M0E0I0 A=49 B=0000 D=0000 H=0307 S=00FE P=0185 SBB M
C0Z0M0E0I1 A=3B B=0000 D=0000 H=0307 S=00FE P=0186 LXI H,0304
C0Z0M0E0I1 A=3B B=0000 D=0000 H=0304 S=00FE P=0189 MOV M,A
C0Z0M0E0I1 A=3B B=0000 D=0000 H=0304 S=00FE P=018A JC 0196
C0Z0M0E0I1 A=3B B=0000 D=0000 H=0304 S=00FE P=018D LXI H,030A
C0Z0M0E0I1 A=3B B=0000 D=0000 H=030A S=00FE P=0190 MOV A,M
C0Z0M0E0I1 A=0D B=0000 D=0000 H=030A S=00FE P=0191 INR A
C0Z0M0E0I0 A=0E B=0000 D=0000 H=030A S=00FE P=0192 MOV M,A
C0Z0M0E0I0 A=0E B=0000 D=0000 H=030A S=00FE P=0193 JMP 017E
C0Z0M0E0I0 A=0E B=0000 D=0000 H=030A S=00FE P=017E LXI H,0304
C0Z0M0E0I0 A=0E B=0000 D=0000 H=0304 S=00FE P=0181 MOV A,M
C0Z0M0E0I0 A=3B B=0000 D=0000 H=0304 S=00FE P=0182 LXI H,0307
C0Z0M0E0I0 A=3B B=0000 D=0000 H=0307 S=00FE P=0185 SBB M
C0Z0M0E1I1 A=2D B=0000 D=0000 H=0307 S=00FE P=0186 LXI H,0304
C0Z0M0E1I1 A=2D B=0000 D=0000 H=0304 S=00FE P=0189 MOV M,A
C0Z0M0E1I1 A=2D B=0000 D=0000 H=0304 S=00FE P=018A JC 0196
C0Z0M0E1I1 A=2D B=0000 D=0000 H=0304 S=00FE P=018D LXI H,030A
C0Z0M0E1I1 A=2D B=0000 D=0000 H=030A S=00FE P=0190 MOV A,M
C0Z0M0E1I1 A=0E B=0000 D=0000 H=030A S=00FE P=0191 INR A
C0Z0M0E1I0 A=0F B=0000 D=0000 H=030A S=00FE P=0192 MOV M,A
C0Z0M0E1I0 A=0F B=0000 D=0000 H=030A S=00FE P=0193 JMP 017E
C0Z0M0E1I0 A=0F B=0000 D=0000 H=030A S=00FE P=017E LXI H,0304
C0Z0M0E1I0 A=0F B=0000 D=0000 H=0304 S=00FE P=0181 MOV A,M
C0Z0M0E1I0 A=2D B=0000 D=0000 H=0304 S=00FE P=0182 LXI H,0307
C0Z0M0E1I0 A=2D B=0000 D=0000 H=0307 S=00FE P=0185 SBB M
C0Z0M0E0I1 A=1F B=0000 D=0000 H=0307 S=00FE P=0186 LXI H,0304
C0Z0M0E0I1 A=1F B=0000 D=0000 H=0304 S=00FE P=0189 MOV M,A
C0Z0M0E0I1 A=1F B=0000 D=0000 H=0304 S=00FE P=018A JC 0196
C0Z0M0E0I1 A=1F B=0000 D=0000 H=0304 S=00FE P=018D LXI H,030A
C0Z0M0E0I1 A=1F B=0000 D=0000 H=030A S=00FE P=0190 MOV A,M
C0Z0M0E0I1 A=0F B=0000 D=0000 H=030A S=00FE P=0191 INR A
C0Z0M0E0I1 A=10 B=0000 D=0000 H=030A S=00FE P=0192 MOV M,A
C0Z0M0E0I1 A=10 B=0000 D=0000 H=030A S=00FE P=0193 JMP 017E
C0Z0M0E0I1 A=10 B=0000 D=0000 H=030A S=00FE P=017E LXI H,0304
C0Z0M0E0I1 A=10 B=0000 D=0000 H=0304 S=00FE P=0181 MOV A,M
C0Z0M0E0I1 A=1F B=0000 D=0000 H=0304 S=00FE P=0182 LXI H,0307
C0Z0M0E0I1 A=1F B=0000 D=0000 H=0307 S=00FE P=0185 SBB M
C0Z0M0E1I0 A=11 B=0000 D=0000 H=0307 S=00FE P=0186 LXI H,0304
C0Z0M0E1I0 A=11 B=0000 D=0000 H=0304 S=00FE P=0189 MOV M,A
C0Z0M0E1I0 A=11 B=0000 D=0000 H=0304 S=00FE P=018A JC 0196
C0Z0M0E1I0 A=11 B=0000 D=0000 H=0304 S=00FE P=018D LXI H,030A
C0Z0M0E1I0 A=11 B=0000 D=0000 H=030A S=00FE P=0190 MOV A,M
C0Z0M0E1I0 A=10 B=0000 D=0000 H=030A S=00FE P=0191 INR A
C0Z0M0E1I0 A=11 B=0000 D=0000 H=030A S=00FE P=0192 MOV M,A
C0Z0M0E1I0 A=11 B=0000 D=0000 H=030A S=00FE P=0193 JMP 017E
C0Z0M0E1I0 A=11 B=0000 D=0000 H=030A S=00FE P=017E LXI H,0304
C0Z0M0E1I0 A=11 B=0000 D=0000 H=0304 S=00FE P=0181 MOV A,M
C0Z0M0E1I0 A=11 B=0000 D=0000 H=0304 S=00FE P=0182 LXI H,0307
C0Z0M0E1I0 A=11 B=0000 D=0000 H=0307 S=00FE P=0185 SBB M
C0Z0M0E1I1 A=03 B=0000 D=0000 H=0307 S=00FE P=0186 LXI H,0304
C0Z0M0E1I1 A=03 B=0000 D=0000 H=0304 S=00FE P=0189 MOV M,A
C0Z0M0E1I1 A=03 B=0000 D=0000 H=0304 S=00FE P=018A JC 0196
C0Z0M0E1I1 A=03 B=0000 D=0000 H=0304 S=00FE P=018D LXI H,030A
C0Z0M0E1I1 A=03 B=0000 D=0000 H=030A S=00FE P=0190 MOV A,M
C0Z0M0E1I1 A=11 B=0000 D=0000 H=030A S=00FE P=0191 INR A
C0Z0M0E1I0 A=12 B=0000 D=0000 H=030A S=00FE P=0192 MOV M,A
C0Z0M0E1I0 A=12 B=0000 D=0000 H=030A S=00FE P=0193 JMP 017E
C0Z0M0E1I0 A=12 B=0000 D=0000 H=030A S=00FE P=017E LXI H,0304
C0Z0M0E1I0 A=12 B=0000 D=0000 H=0304 S=00FE P=0181 MOV A,M
C0Z0M0E1I0 A=03 B=0000 D=0000 H=0304 S=00FE P=0182 LXI H,0307*0185
C0Z0M0E1I0 A=03 B=0000 D=0000 H=0307 S=00FE P=0185 SBB M
C1Z0M1E1I1 A=F5 B=0000 D=0000 H=0307 S=00FE P=0186 LXI H,0304
C1Z0M1E1I1 A=F5 B=0000 D=0000 H=0304 S=00FE P=0189 MOV M,A
C1Z0M1E1I1 A=F5 B=0000 D=0000 H=0304 S=00FE P=018A JC 0196
C1Z0M1E1I1 A=F5 B=0000 D=0000 H=0304 S=00FE P=0196 RET
C1Z0M1E1I1 A=F5 B=0000 D=0000 H=0304 S=0100 P=0113 LXI H,030A
C1Z0M1E1I1 A=F5 B=0000 D=0000 H=030A S=0100 P=0116 MOV A,M
C1Z0M1E1I1 A=12 B=0000 D=0000 H=030A S=0100 P=0117 MOV D,A
C1Z0M1E1I1 A=12 B=0000 D=1200 H=030A S=0100 P=0118 CALL 0165
C1Z0M1E1I1 A=12 B=0000 D=1200 H=030A S=00FE P=0165 LXI H,0305
C1Z0M1E1I1 A=12 B=0000 D=1200 H=0305 S=00FE P=0168 MOV A,M
C1Z0M1E1I1 A=8A B=0000 D=1200 H=0305 S=00FE P=0169 LXI H,0307
C1Z0M1E1I1 A=8A B=0000 D=1200 H=0307 S=00FE P=016C SUB M
C0Z0M0E0I1 A=7C B=0000 D=1200 H=0307 S=00FE P=016D LXI H,0305
C0Z0M0E0I1 A=7C B=0000 D=1200 H=0305 S=00FE P=0170 MOV M,A
C0Z0M0E0I1 A=7C B=0000 D=1200 H=0305 S=00FE P=0171 JC 017D
C0Z0M0E0I1 A=7C B=0000 D=1200 H=0305 S=00FE P=0174 LXI H,030B
C0Z0M0E0I1 A=7C B=0000 D=1200 H=030B S=00FE P=0177 MOV A,M
C0Z0M0E0I1 A=00 B=0000 D=1200 H=030B S=00FE P=0178 INR A
C0Z0M0E0I0 A=01 B=0000 D=1200 H=030B S=00FE P=0179 MOV M,A
C0Z0M0E0I0 A=01 B=0000 D=1200 H=030B S=00FE P=017A JMP 0165
C0Z0M0E0I0 A=01 B=0000 D=1200 H=030B S=00FE P=0165 LXI H,0305
C0Z0M0E0I0 A=01 B=0000 D=1200 H=0305 S=00FE P=0168 MOV A,M
C0Z0M0E0I0 A=7C B=0000 D=1200 H=0305 S=00FE P=0169 LXI H,0307
C0Z0M0E0I0 A=7C B=0000 D=1200 H=0307 S=00FE P=016C SUB M
C0Z0M0E0I1 A=6E B=0000 D=1200 H=0307 S=00FE P=016D LXI H,0305
C0Z0M0E0I1 A=6E B=0000 D=1200 H=0305 S=00FE P=0170 MOV M,A
C0Z0M0E0I1 A=6E B=0000 D=1200 H=0305 S=00FE P=0171 JC 017D
C0Z0M0E0I1 A=6E B=0000 D=1200 H=0305 S=00FE P=0174 LXI H,030B
C0Z0M0E0I1 A=6E B=0000 D=1200 H=030B S=00FE P=0177 MOV A,M
C0Z0M0E0I1 A=01 B=0000 D=1200 H=030B S=00FE P=0178 INR A
C0Z0M0E0I0 A=02 B=0000 D=1200 H=030B S=00FE P=0179 MOV M,A
C0Z0M0E0I0 A=02 B=0000 D=1200 H=030B S=00FE P=017A JMP 0165
C0Z0M0E0I0 A=02 B=0000 D=1200 H=030B S=00FE P=0165 LXI H,0305
C0Z0M0E0I0 A=02 B=0000 D=1200 H=0305 S=00FE P=0168 MOV A,M
C0Z0M0E0I0 A=6E B=0000 D=1200 H=0305 S=00FE P=0169 LXI H,0307
C0Z0M0E0I0 A=6E B=0000 D=1200 H=0307 S=00FE P=016C SUB M
C0Z0M0E1I0 A=60 B=0000 D=1200 H=0307 S=00FE P=016D LXI H,0305
C0Z0M0E1I0 A=60 B=0000 D=1200 H=0305 S=00FE P=0170 MOV M,A
C0Z0M0E1I0 A=60 B=0000 D=1200 H=0305 S=00FE P=0171 JC 017D
C0Z0M0E1I0 A=60 B=0000 D=1200 H=0305 S=00FE P=0174 LXI H,030B
C0Z0M0E1I0 A=60 B=0000 D=1200 H=030B S=00FE P=0177 MOV A,M
C0Z0M0E1I0 A=02 B=0000 D=1200 H=030B S=00FE P=0178 INR A
C0Z0M0E1I0 A=03 B=0000 D=1200 H=030B S=00FE P=0179 MOV M,A
C0Z0M0E1I0 A=03 B=0000 D=1200 H=030B S=00FE P=017A JMP 0165
C0Z0M0E1I0 A=03 B=0000 D=1200 H=030B S=00FE P=0165 LXI H,0305
C0Z0M0E1I0 A=03 B=0000 D=1200 H=0305 S=00FE P=0168 MOV A,M
C0Z0M0E1I0 A=60 B=0000 D=1200 H=0305 S=00FE P=0169 LXI H,0307
C0Z0M0E1I0 A=60 B=0000 D=1200 H=0307 S=00FE P=016C SUB M
C0Z0M0E0I1 A=52 B=0000 D=1200 H=0307 S=00FE P=016D LXI H,0305
C0Z0M0E0I1 A=52 B=0000 D=1200 H=0305 S=00FE P=0170 MOV M,A
C0Z0M0E0I1 A=52 B=0000 D=1200 H=0305 S=00FE P=0171 JC 017D
C0Z0M0E0I1 A=52 B=0000 D=1200 H=0305 S=00FE P=0174 LXI H,030B
C0Z0M0E0I1 A=52 B=0000 D=1200 H=030B S=00FE P=0177 MOV A,M
C0Z0M0E0I1 A=03 B=0000 D=1200 H=030B S=00FE P=0178 INR A
C0Z0M0E0I0 A=04 B=0000 D=1200 H=030B S=00FE P=0179 MOV M,A
C0Z0M0E0I0 A=04 B=0000 D=1200 H=030B S=00FE P=017A JMP 0165
C0Z0M0E0I0 A=04 B=0000 D=1200 H=030B S=00FE P=0165 LXI H,0305
C0Z0M0E0I0 A=04 B=0000 D=1200 H=0305 S=00FE P=0168 MOV A,M
C0Z0M0E0I0 A=52 B=0000 D=1200 H=0305 S=00FE P=0169 LXI H,0307
C0Z0M0E0I0 A=52 B=0000 D=1200 H=0307 S=00FE P=016C SUB M
C0Z0M0E1I1 A=44 B=0000 D=1200 H=0307 S=00FE P=016D LXI H,0305
C0Z0M0E1I1 A=44 B=0000 D=1200 H=0305 S=00FE P=0170 MOV M,A
C0Z0M0E1I1 A=44 B=0000 D=1200 H=0305 S=00FE P=0171 JC 017D
C0Z0M0E1I1 A=44 B=0000 D=1200 H=0305 S=00FE P=0174 LXI H,030B
C0Z0M0E1I1 A=44 B=0000 D=1200 H=030B S=00FE P=0177 MOV A,M
C0Z0M0E1I1 A=04 B=0000 D=1200 H=030B S=00FE P=0178 INR A
C0Z0M0E1I0 A=05 B=0000 D=1200 H=030B S=00FE P=0179 MOV M,A
C0Z0M0E1I0 A=05 B=0000 D=1200 H=030B S=00FE P=017A JMP 0165
C0Z0M0E1I0 A=05 B=0000 D=1200 H=030B S=00FE P=0165 LXI H,0305
C0Z0M0E1I0 A=05 B=0000 D=1200 H=0305 S=00FE P=0168 MOV A,M
C0Z0M0E1I0 A=44 B=0000 D=1200 H=0305 S=00FE P=0169 LXI H,0307
C0Z0M0E1I0 A=44 B=0000 D=1200 H=0307 S=00FE P=016C SUB M
C0Z0M0E1I1 A=36 B=0000 D=1200 H=0307 S=00FE P=016D LXI H,0305
C0Z0M0E1I1 A=36 B=0000 D=1200 H=0305 S=00FE P=0170 MOV M,A
C0Z0M0E1I1 A=36 B=0000 D=1200 H=0305 S=00FE P=0171 JC 017D
C0Z0M0E1I1 A=36 B=0000 D=1200 H=0305 S=00FE P=0174 LXI H,030B
C0Z0M0E1I1 A=36 B=0000 D=1200 H=030B S=00FE P=0177 MOV A,M
C0Z0M0E1I1 A=05 B=0000 D=1200 H=030B S=00FE P=0178 INR A
C0Z0M0E1I0 A=06 B=0000 D=1200 H=030B S=00FE P=0179 MOV M,A*017A
C0Z0M0E1I0 A=06 B=0000 D=1200 H=030B S=00FE P=017A JMP 0165*0165
C0Z0M0E1I0 A=06 B=0000 D=1200 H=030B S=00FE P=0165 LXI H,0305*0168
C0Z0M0E1I0 A=06 B=0000 D=1200 H=0305 S=00FE P=0168 MOV A,M*0169
C0Z0M0E1I0 A=36 B=0000 D=1200 H=0305 S=00FE P=0169 LXI H,0307*016C
C0Z0M0E1I0 A=36 B=0000 D=1200 H=0307 S=00FE P=016C SUB M*016D
C0Z0M0E1I1 A=28 B=0000 D=1200 H=0307 S=00FE P=016D LXI H,0305*0170
C0Z0M0E1I1 A=28 B=0000 D=1200 H=0305 S=00FE P=0170 MOV M,A*0171
C0Z0M0E1I1 A=28 B=0000 D=1200 H=0305 S=00FE P=0171 JC 017D*0174
C0Z0M0E1I1 A=28 B=0000 D=1200 H=0305 S=00FE P=0174 LXI H,030B*0177
C0Z0M0E1I1 A=28 B=0000 D=1200 H=030B S=00FE P=0177 MOV A,M*0178
C0Z0M0E1I1 A=06 B=0000 D=1200 H=030B S=00FE P=0178 INR A*0179
C0Z0M0E0I0 A=07 B=0000 D=1200 H=030B S=00FE P=0179 MOV M,A*017A
C0Z0M0E0I0 A=07 B=0000 D=1200 H=030B S=00FE P=017A JMP 0165
C0Z0M0E0I0 A=07 B=0000 D=1200 H=030B S=00FE P=0165 LXI H,0305
C0Z0M0E0I0 A=07 B=0000 D=1200 H=0305 S=00FE P=0168 MOV A,M
C0Z0M0E0I0 A=28 B=0000 D=1200 H=0305 S=00FE P=0169 LXI H,0307
C0Z0M0E0I0 A=28 B=0000 D=1200 H=0307 S=00FE P=016C SUB M*016D
C0Z0M0E0I1 A=1A B=0000 D=1200 H=0307 S=00FE P=016D LXI H,0305
C0Z0M0E0I1 A=1A B=0000 D=1200 H=0305 S=00FE P=0170 MOV M,A*0171
C0Z0M0E0I1 A=1A B=0000 D=1200 H=0305 S=00FE P=0171 JC 017D
C0Z0M0E0I1 A=1A B=0000 D=1200 H=0305 S=00FE P=0174 LXI H,030B*0177
C0Z0M0E0I1 A=1A B=0000 D=1200 H=030B S=00FE P=0177 MOV A,M
C0Z0M0E0I1 A=07 B=0000 D=1200 H=030B S=00FE P=0178 INR A*0179
C0Z0M0E0I0 A=08 B=0000 D=1200 H=030B S=00FE P=0179 MOV M,A
C0Z0M0E0I0 A=08 B=0000 D=1200 H=030B S=00FE P=017A JMP 0165
C0Z0M0E0I0 A=08 B=0000 D=1200 H=030B S=00FE P=0165 LXI H,0305*0168
C0Z0M0E0I0 A=08 B=0000 D=1200 H=0305 S=00FE P=0168 MOV A,M
C0Z0M0E0I0 A=1A B=0000 D=1200 H=0305 S=00FE P=0169 LXI H,0307
C0Z0M0E0I0 A=1A B=0000 D=1200 H=0307 S=00FE P=016C SUB M
C0Z0M0E1I1 A=0C B=0000 D=1200 H=0307 S=00FE P=016D LXI H,0305*0170
C0Z0M0E1I1 A=0C B=0000 D=1200 H=0305 S=00FE P=0170 MOV M,A
C0Z0M0E1I1 A=0C B=0000 D=1200 H=0305 S=00FE P=0171 JC 017D*0174
C0Z0M0E1I1 A=0C B=0000 D=1200 H=0305 S=00FE P=0174 LXI H,030B
C0Z0M0E1I1 A=0C B=0000 D=1200 H=030B S=00FE P=0177 MOV A,M
C0Z0M0E1I1 A=08 B=0000 D=1200 H=030B S=00FE P=0178 INR A*0179
C0Z0M0E1I0 A=09 B=0000 D=1200 H=030B S=00FE P=0179 MOV M,A
C0Z0M0E1I0 A=09 B=0000 D=1200 H=030B S=00FE P=017A JMP 0165
C0Z0M0E1I0 A=09 B=0000 D=1200 H=030B S=00FE P=0165 LXI H,0305*0168
C0Z0M0E1I0 A=09 B=0000 D=1200 H=0305 S=00FE P=0168 MOV A,M
C0Z0M0E1I0 A=0C B=0000 D=1200 H=0305 S=00FE P=0169 LXI H,0307
C0Z0M0E1I0 A=0C B=0000 D=1200 H=0307 S=00FE P=016C SUB M*016D
C1Z0M1E0I1 A=FE B=0000 D=1200 H=0307 S=00FE P=016D LXI H,0305
C1Z0M1E0I1 A=FE B=0000 D=1200 H=0305 S=00FE P=0170 MOV M,A
C1Z0M1E0I1 A=FE B=0000 D=1200 H=0305 S=00FE P=0171 JC 017D*017D
C1Z0M1E0I1 A=FE B=0000 D=1200 H=0305 S=00FE P=017D RET
C1Z0M1E0I1 A=FE B=0000 D=1200 H=0305 S=0100 P=011B LXI H,030B
C1Z0M1E0I1 A=FE B=0000 D=1200 H=030B S=0100 P=011E MOV A,M
C1Z0M1E0I1 A=09 B=0000 D=1200 H=030B S=0100 P=011F ADD D*0120
C0Z0M0E1I0 A=1B B=0000 D=1200 H=030B S=0100 P=0120 INR A
C0Z0M0E0I0 A=1C B=0000 D=1200 H=030B S=0100 P=0121 LXI H,030E
C0Z0M0E0I0 A=1C B=0000 D=1200 H=030E S=0100 P=0124 MOV M,A
C0Z0M0E0I0 A=1C B=0000 D=1200 H=030E S=0100 P=0125 LXI H,030D
C0Z0M0E0I0 A=1C B=0000 D=1200 H=030D S=0100 P=0128 MOV A,M
C0Z0M0E0I0 A=01 B=0000 D=1200 H=030D S=0100 P=0129 LXI H,030E*012C
C0Z0M0E0I0 A=01 B=0000 D=1200 H=030E S=0100 P=012C ADD M
C0Z0M0E1I0 A=1D B=0000 D=1200 H=030E S=0100 P=012D LXI H,0311
C0Z0M0E1I0 A=1D B=0000 D=1200 H=0311 S=0100 P=0130 MOV M,A
C0Z0M0E1I0 A=1D B=0000 D=1200 H=0311 S=0100 P=0131 LXI H,030C
C0Z0M0E1I0 A=1D B=0000 D=1200 H=030C S=0100 P=0134 MOV A,M
C0Z0M0E1I0 A=03 B=0000 D=1200 H=030C S=0100 P=0135 LXI H,0310
C0Z0M0E1I0 A=03 B=0000 D=1200 H=0310 S=0100 P=0138 MOV M,A
C0Z0M0E1I0 A=03 B=0000 D=1200 H=0310 S=0100 P=0139 NOP
C0Z0M0E1I0 A=03 B=0000 D=1200 H=0310 S=0100 P=013A NOP
C0Z0M0E1I0 A=03 B=0000 D=1200 H=0310 S=0100 P=013B HLT
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
Висновок: : в ході даної лабораторної роботи я вивчила алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному мікропроцесорі Intel 8080 (КР580ВМ80А). Набула практичних навиків складання та налагоджування програм виконання операцій додавання/віднімання та множення/ділення багаторозрядних чисел з використанням цих алгоритмів.