Програмирање 1/К1П 2018

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

Задаци

Задатак 1

Написати програм на симболичком машинском језику за пицоЦомпутер који врши одређену обраду над низом целих бројева. Програм треба најпре да учита дужину низа Н (2 < Н ≤ 100), а затим и саме елементе низа. Потом програм треба да дати низ издели на К сукцесивних поднизова једнаке дужине и испише подниз са највећим производом елемената. Број К се учитава са стандардног улаза. Подразумевати да је Н дељиво са К. Рачунање производа елемената подниза реализовати као засебан потпрограм.

		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