Програмирање 1/К1 2018
Пређи на навигацију
Пређи на претрагу
Задаци
Задатак 1
Написати програм на симболичком машинском језику за пицоЦомпутер који на основу низа целих бројева дужине Н (где је 1<Н≤100) формира нови низ чији ће сваки елемент садржати највећи делилац без остатка одговарајућег елемента полазног низа, не рачунајући сам тај елемент. Програм најпре учитава број Н, а затим и елементе низа. Уколико се за дужину низа унесе некоректна вредност, програм треба да заврши своје извршавање. Након уноса програм врши захтевану обраду и исписује новоформирани низ. Одређивање највећег делиоца задатог броја реализовати као засебан потпрограм.
n=1
i=2
adrA=3
adrB=6
a=100
b=200
pom=4
nzd=5
del=7
ORG 8 ; TODO: Adjust to make room for static data.
; Program entry point
in n
mov i, 100
bgt 0, n, kraj
bgt n,i, kraj
mov adrA,#a
mov adrB,#b
in (adrA), n
mov i,n
petlja:jsr najmanjiZajDel
mov (adrB),nzd
add adrB,adrB,1
add adrA,adrA,1
sub i,i,1
bgt i,0, petlja
mov adrB,#b
out (adrB),n
kraj: stop
najmanjiZajDel: mov del, 1
mov nzd,1
ponovi: div pom, (adrA), del
mul pom,pom,del
bgt (adrA),pom, nije
mov nzd,del
nije: add del,del,1
bgt (adrA),del,ponovi
rts