МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Лабораторна робота №7
“ Алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному МП 8080 (КР580ВМ80А)”
Тема
Алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному МП 8080 (КР580ВМ80А).
Мета
Вивчити алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному мікропроцесорі Intel 8080 (КР580ВМ80А). Набути практичних навиків складання та налагоджування програм виконання операцій додавання/віднімання та множення/ділення багаторозрядних чисел з використанням цих алгоритмів.
Завдання
Виконати арифметичні операції над багаторозрядними числами.
Теоретичні відомості
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Варіант індивідуального завдання
Виконати арифметичні дії над багаторозрядними числами, задані виразом:
(1191 – 898) + (324 – 298 +815)/2.
Текст програми
org 100h
lxi sp,300h
lxi h,3155
mov a,h
sta 400h
mov a,l
sta 401h
lxi h,711
mov a,h
sta 402h
mov a,l
sta 403h
lxi h,805
mov a,h
sta 404h
mov a,l
sta 405h
lxi h,19
mov a,h
sta 406h
mov a,l
sta 407h
lda 400h
mov h,a
lda 401h
mov l,a
lda 402h
mov b,a
lda 403h
mov c,a
call minus
push h
lda 404h
mov h,a
lda 405h
mov l,a
lda 406h
mov b,a
lda 407h
mov c,a
call div
push h
pop b
pop h
call minus
mov a,h
sta 408h
mov a,l
sta 409h
hlt
div:
mov a,b
sta 500h
cma
mov b,a
mov a,c
sta 501h
cma
mov c,a
inx b
lxi d,0h
m1:
push b
lda 500h
mov b,a
mov a,h
sub b
pop b
jm d1
jz b1
q1:
dad b
inx d
jmp m1
d1:
push d
pop h
dcx h
ret
b1:
push b
mvi a,2
mvi b,2
add b
lda 501h
mov c,a
mov a,l
sub c
pop b
jmp q1
minus:
mov a,c
cma
mov c,a
mov a,b
cma
mov b,a
inx b
dad b
ret
Висновок
Отже на даній лабораторній роботі я вивчив алгоритми виконання арифметичних операцій над багаторозрядними числами в однокристальному мікропроцесорі Intel 8080 (КР580ВМ80А) та набув практичних навиків складання та налагоджування програм виконання операцій додавання/віднімання та множення/ділення багаторозрядних чисел з використанням цих алгоритмів.