Programiranje 1/K1P 2018
Pređi na navigaciju
Pređi na pretragu
Zadaci
Zadatak 1
Napisati program na simboličkom mašinskom jeziku za picoComputer koji vrši određenu obradu nad nizom celih brojeva. Program treba najpre da učita dužinu niza N (2 < N ≤ 100), a zatim i same elemente niza. Potom program treba da dati niz izdeli na K sukcesivnih podnizova jednake dužine i ispiše podniz sa najvećim proizvodom elemenata. Broj K se učitava sa standardnog ulaza. Podrazumevati da je N deljivo sa K. Računanje proizvoda elemenata podniza realizovati kao zaseban potprogram.
n=1
adrA=2
a=100
i=3
k=4
s=5
max=6
j=7
minint=-32768
ORG 8 ; TODO: Adjust to make room for static data.
in n
mov i, 2
bgt i,n, kraj
mov i,100
bgt n, i, kraj
mov adrA,#a
in (adrA),n
in k
mov max,#minint
petlja: jsr pp
bgt max,s,skok
mov max,s
div i, n, k
sub i, adrA,i
sub j,j,1
skok: bgt j,0,petlja
mov j,i
div i,n,k
out (j), i
kraj: stop
pp: mov s,1
div i, n,k
ponovo: mul s, (adrA),1
add adrA,adrA,1
sub i,i,1
bgt i,0,ponovo
rts