МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
Кафедра САПР
ЗВІТ
ДО ЛАБОРАТОРНОЇ РОБОТИ № 7
На тему: «Алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному МП 8080 (КР580ВМ80А)».
З дисципліни : «Архітектура комп’ютерів»
Тема роботи: Алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному МП 8080 (КР580ВМ80А).
Мета роботи: Вивчити алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному МП Intel 8080 (КР580ВМ80А). Набути практичних навиків складання та налагоджування програм виконання операцій додавання\віднімання та множення\ділення багаторозрядних чисел з використанням цих алгоритмів.
ТЕОРЕТИЧНІ ВІДОМОСТІ
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Завдання
Виконати арифметичні операції над багаторозрядними числами:
ХІД РОБОТИ:
Для реалізації поставленого завдання була розроблена наступна програма, яка складається з двох частин – LAB7A.ASM (виконання операції ) та LAB7B.ASM (виконання решти арифметичних операцій):
LAB7A.ASM:
LAB7B.ASM:
org 100h
LXI H,410
SHLD 164h
LXI H,19267
SHLD 170h
XCHG
LHLD 164h
XCHG
MOV C,L
MOV B,H
LXI H,0
MVI A,16
ORA A
CUKL: STA 200H
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 OST
XTHL
OST: INX SP
INX SP
LDA 200H
DCR A
JNZ CUKL
XCHG
MOV A,C
RAL
MOV L,A
MOV A,B
RAL
MOV H,A
SHLD 210H
XCHG
SHLD 212H
HLT
org 100h
lxi h,4B39h;4B39h(19257d)->HL
shld 200h
lxi h,019Ah;019Ah(410d)->HL
shld 202h
lxi h,0461h;461h(1121d)->HL
shld 204h
lxi h,0008h;8h(8d)->HL
shld 206h
lxi h,3B01h;3b01h(15105d)->HL
shld 208h
lxi h,002Eh
shld 210h
;Виконуэм операцію множення 1121*8
;І записуєм результат за коміркою 212h
call mul
;Додавання 8976+46
LHLD 210h
XCHG
LHLD 212h
DAD D
SHLD 214H
call subst
hlt
subst:
lhld 208h
XCHG
lda 214h
sbb e
mov c,a
lda 215h
sbb d
mov b,a
lxi h,216h
mov m,c
lxi h,217h
mov m,b
ret
mul:
mvi a,8
cukl:
lhld 204h
XCHG
lhld 206h
dad d
SHLD 206H
dcr a
jnz cukl
SHLD 212H
ret
Після компілювання і лінкування програми завантажуємо її у відлагоджувач і перевіряємо чи знаходиться наша програма в пам'яті:
F:[cpm] d lab7.com
DDT VERS 1.0
NEXT PC
0180 0100
-d100
0100 21 FA 08 22 60 01 21 80 04 22 62 01 21 2C 03 22 !.."`.!.."b.!,."
0110 64 01 2A 60 01 EB 2A 62 01 19 22 70 01 EB 2A 64 d.*`..*b.."p..*d
0120 01 EB 4D 44 21 00 00 3E 10 B7 32 00 02 79 17 4F ..MD!..>..2..y.O
0130 78 17 47 7D 17 6F 7C 17 67 E5 7D 93 6F 7C 9A 67 x.G}.o|.g.}.o|.g
0140 3F DA 45 01 E3 33 33 3A 00 02 3D C2 2A 01 EB 79 ?.E..33:..=.*..y
0150 17 6F 78 17 67 22 72 01 EB 22 74 01 76 00 00 00 .ox.g"r.."t.v...
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0180 1A 84 12 13 C3 69 01 D1 2E 00 E9 0E 10 CD 05 00 .....i..........
0190 32 5F 1E C9 21 66 1E 70 2B 71 2A 65 1E EB 0E 11 2_..!f.p+q*e....
01A0 CD 05 00 32 5F 1E C9 11 00 00 0E 12 CD 05 00 32 ...2_..........2
01B0 5F 1E C9 21 68 1E 70 2B 71 2A 67 1E EB 0E 13 CD _..!h.p+q*g.....
Для виконання програми і виведення результатів її роботи виконуємо покрокове трасування програми(7a):
C:[cpm] d 7a.com
DDT VERS 1.0
NEXT PC
0180 0100
-t20
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0000 S=0100 P=0100 LXI H,019A
C0Z0M0E0I0 A=00 B=0000 D=0000 H=019A S=0100 P=0103 SHLD 0164
C0Z0M0E0I0 A=00 B=0000 D=0000 H=019A S=0100 P=0106 LXI H,4B43
C0Z0M0E0I0 A=00 B=0000 D=0000 H=4B43 S=0100 P=0109 SHLD 0170
C0Z0M0E0I0 A=00 B=0000 D=0000 H=4B43 S=0100 P=010C XCHG
C0Z0M0E0I0 A=00 B=0000 D=4B43 H=0000 S=0100 P=010D LHLD 0164
C0Z0M0E0I0 A=00 B=0000 D=4B43 H=019A S=0100 P=0110 XCHG
C0Z0M0E0I0 A=00 B=0000 D=019A H=4B43 S=0100 P=0111 MOV C,L
C0Z0M0E0I0 A=00 B=0043 D=019A H=4B43 S=0100 P=0112 MOV B,H
C0Z0M0E0I0 A=00 B=4B43 D=019A H=4B43 S=0100 P=0113 LXI H,0000
C0Z0M0E0I0 A=00 B=4B43 D=019A H=0000 S=0100 P=0116 MVI A,10
C0Z0M0E0I0 A=10 B=4B43 D=019A H=0000 S=0100 P=0118 ORA A
C0Z0M0E0I0 A=10 B=4B43 D=019A H=0000 S=0100 P=0119 STA 0200
C0Z0M0E0I0 A=10 B=4B43 D=019A H=0000 S=0100 P=011C MOV A,C
C0Z0M0E0I0 A=43 B=4B43 D=019A H=0000 S=0100 P=011D RAL
C0Z0M0E0I0 A=86 B=4B43 D=019A H=0000 S=0100 P=011E MOV C,A
C0Z0M0E0I0 A=86 B=4B86 D=019A H=0000 S=0100 P=011F MOV A,B
C0Z0M0E0I0 A=4B B=4B86 D=019A H=0000 S=0100 P=0120 RAL
C0Z0M0E0I0 A=96 B=4B86 D=019A H=0000 S=0100 P=0121 MOV B,A
C0Z0M0E0I0 A=96 B=9686 D=019A H=0000 S=0100 P=0122 MOV A,L
C0Z0M0E0I0 A=00 B=9686 D=019A H=0000 S=0100 P=0123 RAL
C0Z0M0E0I0 A=00 B=9686 D=019A H=0000 S=0100 P=0124 MOV L,A
C0Z0M0E0I0 A=00 B=9686 D=019A H=0000 S=0100 P=0125 MOV A,H
C0Z0M0E0I0 A=00 B=9686 D=019A H=0000 S=0100 P=0126 RAL
C0Z0M0E0I0 A=00 B=9686 D=019A H=0000 S=0100 P=0127 MOV H,A
C0Z0M0E0I0 A=00 B=9686 D=019A H=0000 S=0100 P=0128 PUSH H
C0Z0M0E0I0 A=00 B=9686 D=019A H=0000 S=00FE P=0129 MOV A,L
C0Z0M0E0I0 A=00 B=9686 D=019A H=0000 S=00FE P=012A SUB E
C1Z0M0E1I1 A=66 B=9686 D=019A H=0000 S=00FE P=012B MOV L,A
C1Z0M0E1I1 A=66 B=9686 D=019A H=0066 S=00FE P=012C MOV A,H
C1Z0M0E1I1 A=00 B=9686 D=019A H=0066 S=00FE P=012D SBB D
C1Z0M1E0I1 A=FE B=9686 D=019A H=0066 S=00FE P=012E MOV H,A*012F
C0Z0M1E0I1 A=FE B=2D0C D=019A H=0001 S=00FE P=0134 INX SP
C0Z0M1E0I1 A=FE B=2D0C D=019A H=0001 S=00FF P=0135 INX SP
C0Z0M1E0I1 A=FE B=2D0C D=019A H=0001 S=0100 P=0136 LDA 0200
C0Z0M1E0I1 A=0F B=2D0C D=019A H=0001 S=0100 P=0139 DCR A
C0Z0M0E0I0 A=0E B=2D0C D=019A H=0001 S=0100 P=013A JNZ 0119
C0Z0M0E0I0 A=0E B=2D0C D=019A H=0001 S=0100 P=0119 STA 0200
C0Z0M0E0I0 A=0E B=2D0C D=019A H=0001 S=0100 P=011C MOV A,C
C0Z0M0E0I0 A=0C B=2D0C D=019A H=0001 S=0100 P=011D RAL
C0Z0M0E0I0 A=18 B=2D0C D=019A H=0001 S=0100 P=011E MOV C,A
C0Z0M0E0I0 A=18 B=2D18 D=019A H=0001 S=0100 P=011F MOV A,B
C0Z0M0E0I0 A=2D B=2D18 D=019A H=0001 S=0100 P=0120 RAL
C0Z0M0E0I0 A=5A B=2D18 D=019A H=0001 S=0100 P=0121 MOV B,A
C0Z0M0E0I0 A=5A B=5A18 D=019A H=0001 S=0100 P=0122 MOV A,L
C0Z0M0E0I0 A=01 B=5A18 D=019A H=0001 S=0100 P=0123 RAL
C0Z0M0E0I0 A=02 B=5A18 D=019A H=0001 S=0100 P=0124 MOV L,A
C0Z0M0E0I0 A=02 B=5A18 D=019A H=0002 S=0100 P=0125 MOV A,H
C0Z0M0E0I0 A=00 B=5A18 D=019A H=0002 S=0100 P=0126 RAL
C0Z0M0E0I0 A=00 B=5A18 D=019A H=0002 S=0100 P=0127 MOV H,A
C0Z0M0E0I0 A=00 B=5A18 D=019A H=0002 S=0100 P=0128 PUSH H
C0Z0M0E0I0 A=00 B=5A18 D=019A H=0002 S=00FE P=0129 MOV A,L
C0Z0M0E0I0 A=02 B=5A18 D=019A H=0002 S=00FE P=012A SUB E
C1Z0M0E0I1 A=68 B=5A18 D=019A H=0002 S=00FE P=012B MOV L,A
C1Z0M0E0I1 A=68 B=5A18 D=019A H=0068 S=00FE P=012C MOV A,H
C1Z0M0E0I1 A=00 B=5A18 D=019A H=0068 S=00FE P=012D SBB D
C1Z0M1E0I1 A=FE B=5A18 D=019A H=0068 S=00FE P=012E MOV H,A
C1Z0M1E0I1 A=FE B=5A18 D=019A H=FE68 S=00FE P=012F CMC
C0Z0M1E0I1 A=FE B=5A18 D=019A H=FE68 S=00FE P=0130 JC 0134
C0Z0M1E0I1 A=FE B=5A18 D=019A H=FE68 S=00FE P=0133 XTHL
C0Z0M1E0I1 A=FE B=5A18 D=019A H=0002 S=00FE P=0134 INX SP
C0Z0M1E0I1 A=FE B=5A18 D=019A H=0002 S=00FF P=0135 INX SP
C0Z0M1E0I1 A=FE B=5A18 D=019A H=0002 S=0100 P=0136 LDA 0200
C0Z0M1E0I1 A=0E B=5A18 D=019A H=0002 S=0100 P=0139 DCR A
C0Z0M0E0I0 A=0D B=5A18 D=019A H=0002 S=0100 P=013A JNZ 0119
C0Z0M0E0I0 A=0D B=5A18 D=019A H=0002 S=0100 P=0119 STA 0200
C0Z0M0E0I0 A=0D B=5A18 D=019A H=0002 S=0100 P=011C MOV A,C
C0Z0M0E0I0 A=18 B=5A18 D=019A H=0002 S=0100 P=011D RAL
C0Z0M0E0I0 A=30 B=5A18 D=019A H=0002 S=0100 P=011E MOV C,A
C0Z0M0E0I0 A=30 B=5A30 D=019A H=0002 S=0100 P=011F MOV A,B
C0Z0M0E0I0 A=5A B=5A30 D=019A H=0002 S=0100 P=0120 RAL
C0Z0M0E0I0 A=B4 B=5A30 D=019A H=0002 S=0100 P=0121 MOV B,A
C0Z0M0E0I0 A=B4 B=B430 D=019A H=0002 S=0100 P=0122 MOV A,L
C0Z0M0E0I0 A=02 B=B430 D=019A H=0002 S=0100 P=0123 RAL
C0Z0M0E0I0 A=04 B=B430 D=019A H=0002 S=0100 P=0124 MOV L,A
C0Z0M0E0I0 A=04 B=B430 D=019A H=0004 S=0100 P=0125 MOV A,H
C0Z0M0E0I0 A=00 B=B430 D=019A H=0004 S=0100 P=0126 RAL
C0Z0M0E0I0 A=00 B=B430 D=019A H=0004 S=0100 P=0127 MOV H,A
C0Z0M0E0I0 A=00 B=B430 D=019A H=0004 S=0100 P=0128 PUSH H
C0Z0M0E0I0 A=00 B=B430 D=019A H=0004 S=00FE P=0129 MOV A,L
C0Z0M0E0I0 A=04 B=B430 D=019A H=0004 S=00FE P=012A SUB E*012B
C0Z0M0E1I0 A=4B B=4300 D=019A H=004B S=00FE P=012A SUB E
C1Z0M1E1I0 A=B1 B=4300 D=019A H=004B S=00FE P=012B MOV L,A
C1Z0M1E1I0 A=B1 B=4300 D=019A H=00B1 S=00FE P=012C MOV A,H
C1Z0M1E1I0 A=00 B=4300 D=019A H=00B1 S=00FE P=012D SBB D
C1Z0M1E0I1 A=FE B=4300 D=019A H=00B1 S=00FE P=012E MOV H,A
C1Z0M1E0I1 A=FE B=4300 D=019A H=FEB1 S=00FE P=012F CMC
C0Z0M1E0I1 A=FE B=4300 D=019A H=FEB1 S=00FE P=0130 JC 0134
C0Z0M1E0I1 A=FE B=4300 D=019A H=FEB1 S=00FE P=0133 XTHL
C0Z0M1E0I1 A=FE B=4300 D=019A H=004B S=00FE P=0134 INX SP
C0Z0M1E0I1 A=FE B=4300 D=019A H=004B S=00FF P=0135 INX SP
C0Z0M1E0I1 A=FE B=4300 D=019A H=004B S=0100 P=0136 LDA 0200
C0Z0M1E0I1 A=09 B=4300 D=019A H=004B S=0100 P=0139 DCR A
C0Z0M0E0I0 A=08 B=4300 D=019A H=004B S=0100 P=013A JNZ 0119
C0Z0M0E0I0 A=08 B=4300 D=019A H=004B S=0100 P=0119 STA 0200
C0Z0M0E0I0 A=08 B=4300 D=019A H=004B S=0100 P=011C MOV A,C
C0Z0M0E0I0 A=00 B=4300 D=019A H=004B S=0100 P=011D RAL
C0Z0M0E0I0 A=00 B=4300 D=019A H=004B S=0100 P=011E MOV C,A
C0Z0M0E0I0 A=00 B=4300 D=019A H=004B S=0100 P=011F MOV A,B
C0Z0M0E0I0 A=43 B=4300 D=019A H=004B S=0100 P=0120 RAL
C0Z0M0E0I0 A=86 B=4300 D=019A H=004B S=0100 P=0121 MOV B,A
C0Z0M0E0I0 A=86 B=8600 D=019A H=004B S=0100 P=0122 MOV A,L
C0Z0M0E0I0 A=4B B=8600 D=019A H=004B S=0100 P=0123 RAL
C0Z0M0E0I0 A=96 B=8600 D=019A H=004B S=0100 P=0124 MOV L,A
C0Z0M0E0I0 A=96 B=8600 D=019A H=0096 S=0100 P=0125 MOV A,H
C0Z0M0E0I0 A=00 B=8600 D=019A H=0096 S=0100 P=0126 RAL
C0Z0M0E0I0 A=00 B=8600 D=019A H=0096 S=0100 P=0127 MOV H,A
C0Z0M0E0I0 A=00 B=8600 D=019A H=0096 S=0100 P=0128 PUSH H
C0Z0M0E0I0 A=00 B=8600 D=019A H=0096 S=00FE P=0129 MOV A,L
C0Z0M0E0I0 A=96 B=8600 D=019A H=0096 S=00FE P=012A SUB E
C1Z0M1E1I1 A=FC B=8600 D=019A H=0096 S=00FE P=012B MOV L,A
C1Z0M1E1I1 A=FC B=8600 D=019A H=00FC S=00FE P=012C MOV A,H
C1Z0M1E1I1 A=00 B=8600 D=019A H=00FC S=00FE P=012D SBB D
C1Z0M1E0I1 A=FE B=8600 D=019A H=00FC S=00FE P=012E MOV H,A
C1Z0M1E0I1 A=FE B=8600 D=019A H=FEFC S=00FE P=012F CMC
C0Z0M1E0I1 A=FE B=8600 D=019A H=FEFC S=00FE P=0130 JC 0134
C0Z0M1E0I1 A=FE B=8600 D=019A H=FEFC S=00FE P=0133 XTHL
C0Z0M1E0I1 A=FE B=8600 D=019A H=0096 S=00FE P=0134 INX SP
C0Z0M1E0I1 A=FE B=8600 D=019A H=0096 S=00FF P=0135 INX SP
C0Z0M1E0I1 A=FE B=8600 D=019A H=0096 S=0100 P=0136 LDA 0200
C0Z0M1E0I1 A=08 B=8600 D=019A H=0096 S=0100 P=0139 DCR A
C0Z0M0E0I0 A=07 B=8600 D=019A H=0096 S=0100 P=013A JNZ 0119
C0Z0M0E0I0 A=07 B=8600 D=019A H=0096 S=0100 P=0119 STA 0200
C0Z0M0E0I0 A=07 B=8600 D=019A H=0096 S=0100 P=011C MOV A,C
C0Z0M0E0I0 A=00 B=8600 D=019A H=0096 S=0100 P=011D RAL
C0Z0M0E0I0 A=00 B=8600 D=019A H=0096 S=0100 P=011E MOV C,A
C0Z0M0E0I0 A=00 B=8600 D=019A H=0096 S=0100 P=011F MOV A,B
C0Z0M0E0I0 A=86 B=8600 D=019A H=0096 S=0100 P=0120 RAL
C1Z0M0E0I0 A=0C B=8600 D=019A H=0096 S=0100 P=0121 MOV B,A
C1Z0M0E0I0 A=0C B=0C00 D=019A H=0096 S=0100 P=0122 MOV A,L*0123
C0Z0M0E1I0 A=CC B=C005 D=019A H=0166 S=0100 P=0124 MOV L,A
C0Z0M0E1I0 A=CC B=C005 D=019A H=01CC S=0100 P=0125 MOV A,H
C0Z0M0E1I0 A=01 B=C005 D=019A H=01CC S=0100 P=0126 RAL
C0Z0M0E1I0 A=02 B=C005 D=019A H=01CC S=0100 P=0127 MOV H,A
C0Z0M0E1I0 A=02 B=C005 D=019A H=02CC S=0100 P=0128 PUSH H
C0Z0M0E1I0 A=02 B=C005 D=019A H=02CC S=00FE P=0129 MOV A,L
C0Z0M0E1I0 A=CC B=C005 D=019A H=02CC S=00FE P=012A SUB E
C0Z0M0E0I0 A=32 B=C005 D=019A H=02CC S=00FE P=012B MOV L,A
C0Z0M0E0I0 A=32 B=C005 D=019A H=0232 S=00FE P=012C MOV A,H
C0Z0M0E0I0 A=02 B=C005 D=019A H=0232 S=00FE P=012D SBB D
C0Z0M0E0I0 A=01 B=C005 D=019A H=0232 S=00FE P=012E MOV H,A
C0Z0M0E0I0 A=01 B=C005 D=019A H=0132 S=00FE P=012F CMC
C1Z0M0E0I0 A=01 B=C005 D=019A H=0132 S=00FE P=0130 JC 0134
C1Z0M0E0I0 A=01 B=C005 D=019A H=0132 S=00FE P=0134 INX SP
C1Z0M0E0I0 A=01 B=C005 D=019A H=0132 S=00FF P=0135 INX SP
C1Z0M0E0I0 A=01 B=C005 D=019A H=0132 S=0100 P=0136 LDA 0200
C1Z0M0E0I0 A=03 B=C005 D=019A H=0132 S=0100 P=0139 DCR A
C1Z0M0E0I0 A=02 B=C005 D=019A H=0132 S=0100 P=013A JNZ 0119
C1Z0M0E0I0 A=02 B=C005 D=019A H=0132 S=0100 P=0119 STA 0200
C1Z0M0E0I0 A=02 B=C005 D=019A H=0132 S=0100 P=011C MOV A,C
C1Z0M0E0I0 A=05 B=C005 D=019A H=0132 S=0100 P=011D RAL
C0Z0M0E0I0 A=0B B=C005 D=019A H=0132 S=0100 P=011E MOV C,A
C0Z0M0E0I0 A=0B B=C00B D=019A H=0132 S=0100 P=011F MOV A,B
C0Z0M0E0I0 A=C0 B=C00B D=019A H=0132 S=0100 P=0120 RAL
C1Z0M0E0I0 A=80 B=C00B D=019A H=0132 S=0100 P=0121 MOV B,A
C1Z0M0E0I0 A=80 B=800B D=019A H=0132 S=0100 P=0122 MOV A,L
C1Z0M0E0I0 A=32 B=800B D=019A H=0132 S=0100 P=0123 RAL
C0Z0M0E0I0 A=65 B=800B D=019A H=0132 S=0100 P=0124 MOV L,A
C0Z0M0E0I0 A=65 B=800B D=019A H=0165 S=0100 P=0125 MOV A,H
C0Z0M0E0I0 A=01 B=800B D=019A H=0165 S=0100 P=0126 RAL
C0Z0M0E0I0 A=02 B=800B D=019A H=0165 S=0100 P=0127 MOV H,A
C0Z0M0E0I0 A=02 B=800B D=019A H=0265 S=0100 P=0128 PUSH H
C0Z0M0E0I0 A=02 B=800B D=019A H=0265 S=00FE P=0129 MOV A,L
C0Z0M0E0I0 A=65 B=800B D=019A H=0265 S=00FE P=012A SUB E
C1Z0M1E0I1 A=CB B=800B D=019A H=0265 S=00FE P=012B MOV L,A
C1Z0M1E0I1 A=CB B=800B D=019A H=02CB S=00FE P=012C MOV A,H
C0Z0M0E0I0 A=17 B=8017 D=019A H=00CB S=0100 P=011F MOV A,B
C0Z0M0E0I0 A=80 B=8017 D=019A H=00CB S=0100 P=0120 RAL
C1Z0M0E0I0 A=00 B=8017 D=019A H=00CB S=0100 P=0121 MOV B,A
C1Z0M0E0I0 A=00 B=0017 D=019A H=00CB S=0100 P=0122 MOV A,L
C1Z0M0E0I0 A=CB B=0017 D=019A H=00CB S=0100 P=0123 RAL
C1Z0M0E0I0 A=97 B=0017 D=019A H=00CB S=0100 P=0124 MOV L,A
C1Z0M0E0I0 A=97 B=0017 D=019A H=0097 S=0100 P=0125 MOV A,H
C1Z0M0E0I0 A=00 B=0017 D=019A H=0097 S=0100 P=0126 RAL
C0Z0M0E0I0 A=01 B=0017 D=019A H=0097 S=0100 P=0127 MOV H,A
C0Z0M0E0I0 A=01 B=0017 D=019A H=0197 S=0100 P=0128 PUSH H
C0Z0M0E0I0 A=01 B=0017 D=019A H=0197 S=00FE P=0129 MOV A,L
C0Z0M0E0I0 A=97 B=0017 D=019A H=0197 S=00FE P=012A SUB E
C1Z0M1E0I1 A=FD B=0017 D=019A H=0197 S=00FE P=012B MOV L,A
C1Z0M1E0I1 A=FD B=0017 D=019A H=01FD S=00FE P=012C MOV A,H
C1Z0M1E0I1 A=01 B=0017 D=019A H=01FD S=00FE P=012D SBB D
C1Z0M1E1I1 A=FF B=0017 D=019A H=01FD S=00FE P=012E MOV H,A
C1Z0M1E1I1 A=FF B=0017 D=019A H=FFFD S=00FE P=012F CMC
C0Z0M1E1I1 A=FF B=0017 D=019A H=FFFD S=00FE P=0130 JC 0134
C0Z0M1E1I1 A=FF B=0017 D=019A H=FFFD S=00FE P=0133 XTHL
C0Z0M1E1I1 A=FF B=0017 D=019A H=0197 S=00FE P=0134 INX SP
C0Z0M1E1I1 A=FF B=0017 D=019A H=0197 S=00FF P=0135 INX SP
C0Z0M1E1I1 A=FF B=0017 D=019A H=0197 S=0100 P=0136 LDA 0200
C0Z0M1E1I1 A=01 B=0017 D=019A H=0197 S=0100 P=0139 DCR A
C0Z1M0E1I0 A=00 B=0017 D=019A H=0197 S=0100 P=013A JNZ 0119
C0Z1M0E1I0 A=00 B=0017 D=019A H=0197 S=0100 P=013D XCHG
C0Z1M0E1I0 A=00 B=0017 D=0197 H=019A S=0100 P=013E MOV A,C
C0Z1M0E1I0 A=17 B=0017 D=0197 H=019A S=0100 P=013F RAL
C0Z1M0E1I0 A=2E B=0017 D=0197 H=019A S=0100 P=0140 MOV L,A
C0Z1M0E1I0 A=2E B=0017 D=0197 H=012E S=0100 P=0141 MOV A,B
C0Z1M0E1I0 A=00 B=0017 D=0197 H=012E S=0100 P=0142 RAL
C0Z1M0E1I0 A=00 B=0017 D=0197 H=012E S=0100 P=0143 MOV H,A
C0Z1M0E1I0 A=00 B=0017 D=0197 H=002E S=0100 P=0144 SHLD 0210
C0Z1M0E1I0 A=00 B=0017 D=0197 H=002E S=0100 P=0147 XCHG
C0Z1M0E1I0 A=00 B=0017 D=002E H=0197 S=0100 P=0148 SHLD 0212
C0Z1M0E1I0 A=00 B=0017 D=002E H=0197 S=0100 P=014B HLT
Для виконання програми і виведення результатів її роботи виконуємо покрокове трасування програми(7b):
C:[cpm] d 7b.com
DDT VERS 1.0
NEXT PC
0180 0100
-t10
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0000 S=0100 P=0100 LXI H,4B39
C0Z0M0E0I0 A=00 B=0000 D=0000 H=4B39 S=0100 P=0103 SHLD 0200
C0Z0M0E0I0 A=00 B=0000 D=0000 H=4B39 S=0100 P=0106 LXI H,019A
C0Z0M0E0I0 A=00 B=0000 D=0000 H=019A S=0100 P=0109 SHLD 0202
C0Z0M0E0I0 A=00 B=0000 D=0000 H=019A S=0100 P=010C LXI H,0461
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0461 S=0100 P=010F SHLD 0204
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0461 S=0100 P=0112 LXI H,0008
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0008 S=0100 P=0115 SHLD 0206
C0Z0M0E0I0 A=00 B=0000 D=0000 H=0008 S=0100 P=0118 LXI H,3B01
C0Z0M0E0I0 A=00 B=0000 D=0000 H=3B01 S=0100 P=011B SHLD 0208
C0Z0M0E0I0 A=00 B=0000 D=0000 H=3B01 S=0100 P=011E LXI H,002E
C0Z0M0E0I0 A=00 B=0000 D=0000 H=002E S=0100 P=0121 SHLD 0210
C0Z0M0E0I0 A=00 B=0000 D=0000 H=002E S=0100 P=0124 CALL 014D
C0Z0M0E0I0 A=00 B=0000 D=0000 H=002E S=00FE P=014D MVI A,08
C0Z0M0E0I0 A=08 B=0000 D=0000 H=002E S=00FE P=014F LHLD 0204
C0Z0M0E0I0 A=08 B=0000 D=0000 H=0461 S=00FE P=0152 XCHG *0153
C0Z0M0E0I0 A=04 B=0000 D=0461 H=118C S=00FE P=0156 DAD D
C0Z0M0E0I0 A=04 B=0000 D=0461 H=15ED S=00FE P=0157 SHLD 0206
C0Z0M0E0I0 A=04 B=0000 D=0461 H=15ED S=00FE P=015A DCR A
C0Z0M0E1I0 A=03 B=0000 D=0461 H=15ED S=00FE P=015B JNZ 014F
C0Z0M0E1I0 A=03 B=0000 D=0461 H=15ED S=00FE P=014F LHLD 0204
C0Z0M0E1I0 A=03 B=0000 D=0461 H=0461 S=00FE P=0152 XCHG
C0Z0M0E1I0 A=03 B=0000 D=0461 H=0461 S=00FE P=0153 LHLD 0206
C0Z0M0E1I0 A=03 B=0000 D=0461 H=15ED S=00FE P=0156 DAD D
C0Z0M0E1I0 A=03 B=0000 D=0461 H=1A4E S=00FE P=0157 SHLD 0206
C0Z0M0E1I0 A=03 B=0000 D=0461 H=1A4E S=00FE P=015A DCR A
C0Z0M0E0I0 A=02 B=0000 D=0461 H=1A4E S=00FE P=015B JNZ 014F
C0Z0M0E0I0 A=02 B=0000 D=0461 H=1A4E S=00FE P=014F LHLD 0204
C0Z0M0E0I0 A=02 B=0000 D=0461 H=0461 S=00FE P=0152 XCHG
C0Z0M0E0I0 A=02 B=0000 D=0461 H=0461 S=00FE P=0153 LHLD 0206
C0Z0M0E0I0 A=02 B=0000 D=0461 H=1A4E S=00FE P=0156 DAD D
C0Z0M0E0I0 A=02 B=0000 D=0461 H=1EAF S=00FE P=0157 SHLD 0206
C0Z0M0E0I0 A=02 B=0000 D=0461 H=1EAF S=00FE P=015A DCR A
C0Z0M0E0I0 A=01 B=0000 D=0461 H=1EAF S=00FE P=015B JNZ 014F
C0Z0M0E0I0 A=01 B=0000 D=0461 H=1EAF S=00FE P=014F LHLD 0204
C0Z0M0E0I0 A=01 B=0000 D=0461 H=0461 S=00FE P=0152 XCHG
C0Z0M0E0I0 A=01 B=0000 D=0461 H=0461 S=00FE P=0153 LHLD 0206
C0Z0M0E0I0 A=01 B=0000 D=0461 H=1EAF S=00FE P=0156 DAD D
C0Z0M0E0I0 A=01 B=0000 D=0461 H=2310 S=00FE P=0157 SHLD 0206
C0Z0M0E0I0 A=01 B=0000 D=0461 H=2310 S=00FE P=015A DCR A
C0Z1M0E1I0 A=00 B=0000 D=0461 H=2310 S=00FE P=015B JNZ 014F
C0Z1M0E1I0 A=00 B=0000 D=0461 H=2310 S=00FE P=015E SHLD 0212
C0Z1M0E1I0 A=00 B=0000 D=0461 H=2310 S=00FE P=0161 RET
C0Z1M0E1I0 A=00 B=0000 D=0461 H=2310 S=0100 P=0127 LHLD 0210
C0Z1M0E1I0 A=00 B=0000 D=0461 H=002E S=0100 P=012A XCHG
C0Z1M0E1I0 A=00 B=0000 D=002E H=0461 S=0100 P=012B LHLD 0212
C0Z1M0E1I0 A=00 B=0000 D=002E H=2310 S=0100 P=012E DAD D
C0Z1M0E1I0 A=00 B=0000 D=002E H=233E S=0100 P=012F SHLD 0214
C0Z1M0E1I0 A=00 B=0000 D=002E H=233E S=0100 P=0132 CALL 0136
C0Z1M0E1I0 A=00 B=0000 D=002E H=233E S=00FE P=0136 LHLD 0208
C0Z1M0E1I0 A=00 B=0000 D=002E H=3B01 S=00FE P=0139 XCHG
C0Z1M0E1I0 A=00 B=0000 D=3B01 H=002E S=00FE P=013A LDA 0214
C0Z1M0E1I0 A=3E B=0000 D=3B01 H=002E S=00FE P=013D SBB E
C0Z0M0E0I0 A=3D B=0000 D=3B01 H=002E S=00FE P=013E MOV C,A
C0Z0M0E0I0 A=3D B=003D D=3B01 H=002E S=00FE P=013F LDA 0215
C0Z0M0E0I0 A=23 B=003D D=3B01 H=002E S=00FE P=0142 SBB D
C1Z0M1E1I1 A=E8 B=003D D=3B01 H=002E S=00FE P=0143 MOV B,A
C1Z0M1E1I1 A=E8 B=E83D D=3B01 H=002E S=00FE P=0144 LXI H,0216
C1Z0M1E1I1 A=E8 B=E83D D=3B01 H=0216 S=00FE P=0147 MOV M,C
C1Z0M1E1I1 A=E8 B=E83D D=3B01 H=0216 S=00FE P=0148 LXI H,0217
C1Z0M1E1I1 A=E8 B=E83D D=3B01 H=0217 S=00FE P=014B MOV M,B
C1Z0M1E1I1 A=E8 B=E83D D=3B01 H=0217 S=00FE P=014C RET
C1Z0M1E1I1 A=E8 B=E83D D=3B01 H=0217 S=0100 P=0135 HLT
*Execution halted
C:[cpm]
КАРТА ПАМЯТІ
Адреса
Дані
Коментар
H
D
B
H
D
B
200
512
1 1000 0000
39
57
0011 1001
Дане 1 = 19257
201
513
1 1000 0001
4B
75
0100 1011
202
514
1 1000 0010
9A
154
1001 1010
Дане 2 = 410
203
515
1 1000 0011
01
1
0000 0001
204
516
1 1000 0100
61
97
0110 0001
Дане 3 = 1121
205
517
1 1000 0101
04
4
0000 0100
206
518
1 1000 0110
08
8
0000 1000
Дане 4 = 8
207
519
1 1000 0111
00
0
0000 0000
208
520
1 1000 1000
01
1
0000 0001
Дане 5 = 15105
209
521
1000001001
3B
59
0011 1011
210
528
1000001011
2E
46
101110
Рез. опер. 19267/410
212
530
1000011111
10
16
10000
множення 1121*8
213
531
1000111111
23
35
100011
214
532
1000010100
3E
46
101110
Додавання 8976+46
215
533
1000010101
23
35
100011
216
534
1000010110
3D
61
111101
Рез. опер. 9022-15105
217
535
1000010111
E8
232
11101000
PRN ФАЙЛ
7a.prn
0100 ORG 100H
0100 219A01 LXI H,410
0103 226401 SHLD 164H
0106 21434B LXI H,19267
0109 227001 SHLD 170H
010C EB XCHG
010D 2A6401 LHLD 164H
0110 EB XCHG
0111 4D MOV C,L
0112 44 MOV B,H
0113 210000 LXI H,0
0116 3E10 MVI A,16
0118 B7 ORA A
0119 320002 CUKL: STA 200H
011C 79 MOV A,C
011D 17 RAL
011E 4F MOV C,A
011F 78 MOV A,B
0120 17 RAL
0121 47 MOV B,A
0122 7D MOV A,L
0123 17 RAL
0124 6F MOV L,A
0125 7C MOV A,H
0126 17 RAL
0127 67 MOV H,A
0128 E5 PUSH H
0129 7D MOV A,L
012A 93 SUB E
012B 6F MOV L,A
012C 7C MOV A, H
012D 9A SBB D
012E 67 MOV H,A
012F 3F CMC
0130 DA3401 JC OST
0133 E3 XTHL
0134 33 OST: INX SP
0135 33 INX SP
0136 3A0002 LDA 200H
0139 3D DCR A
013A C21901 JNZ CUKL
013D EB XCHG
013E 79 MOV A,C
013F 17 RAL
0140 6F MOV L,A
0141 78 MOV A,B
0142 17 RAL
0143 67 MOV H,A
0144 221002 SHLD 210H
0147 EB XCHG
0148 221202 SHLD 212H
014B 76 HLT
7b.prn
0100 ORG 100H
0100 21394B LXI H,4B39H;4B39H(19257D)->HL
0103 220002 SHLD 200H
0106 219A01 LXI H,019AH;019AH(410D)->HL
0109 220202 SHLD 202H
010C 216104 LXI H,0461H;461H(1121D)->HL
010F 220402 SHLD 204H
0112 210800 LXI H,0008H;8H(8D)->HL
0115 220602 SHLD 206H
0118 21013B LXI H,3B01H;3B01H(15105D)->HL
011B 220802 SHLD 208H
011E 212E00 LXI H,002EH
0121 221002 SHLD 210H
;BHJNMS}L NOEP`V3~ LMNFEMM 1121*8
;2 G`OHQS:L PEGSK|R`R G` JNL3PJN~ 212H
0124 CD4D01 CALL MUL
;DND`B`MM 8976+46
0127 2A1002 LHLD 210H
012A EB XCHG
012B 2A1202 LHLD 212H
012E 19 DAD D
012F 221402 SHLD 214H
0132 CD3601 CALL SUBST
0135 76 HLT
SUBST:
0136 2A0802 LHLD 208H
0139 EB XCHG
013A 3A1402 LDA 214H
013D 9B SBB E
013E 4F MOV C,A
013F 3A1502 LDA 215H
0142 9A SBB D
0143 47 MOV B,A
0144 211602 LXI H,216H
0147 71 MOV M,C
0148 211702 LXI H,217H
014B 70 MOV M,B
014C C9 RET
MUL:
014D 3E08 MVI A,8
CUKL:
014F 2A0402 LHLD 204H
0152 EB XCHG
0153 2A0602 LHLD 206H
0156 19 DAD D
0157 220602 SHLD 206H
015A 3D DCR A
015B C24F01 JNZ CUKL
015E 221202 SHLD 212H
0161 210800 LXI H,0008H;8H(8D)->HL
0164 220602 SHLD 206H
ВИСНОВОК:
Під час виконання лабораторної роботи я навчився виконувати арифметичні операції над багаторозрядними числами. Мною була написана програма, яка виконує множення, додавання, віднімання, ділення багаторозрядних чисел.