Програмирање 1/К1 2017
Пређи на навигацију
Пређи на претрагу
Zadaci
Zadatak 1
Napisati program na simboličkom mašinskom jeziku za picoComputer koji određuje da li je razlika celobrojnog dela aritmetičke sredine prvih K elemenata niza dužine N (gde je 1<N≤100) i celobrojnog dela aritmetičke sredine preostalih N-K elemenata niza deljiva brojem K. Ukoliko jeste, treba ispisati 1, ukoliko nije, treba ispisati 0. Program najpre učitava brojeve K i N, a zatim i elemente niza. Prepostaviti da je 0<K<N. Računanje aritmetičke sredine obaviti u posebnom potprogramu.
a=100
adrA=1
n=2
k=3
i=4
brElem=5
s=6
as1=7
as2=0
ORG 8 ; TODO: Adjust to make room for static data.
in n
mov i, 100
bgt n,i,kraj
mov i,2
bgt i,n,kraj
mov adrA,#a
in (adrA),n
in k
mov brElem,k
jsr as
mov as1,s
sub brElem,n,k
jsr as
mov as2,s
sub n, as1,as2
div as1, n,k
mul as1,as1,k
bgt n,as1,skok
mov n,1
beq n,n,kraj
skok: mov n,0
kraj: stop n
as: mov s,0
mov i,brelem
petlja: add s,s,(adrA)
add adrA,adra,1
sub i,i,1
bgt i,0, petlja
div s,S,brElem
rts