Programiranje 1/K1 2005
Pređi na navigaciju
Pređi na pretragu
Zadaci
Zadatak 1
Napisati program na simboličkom mašinskom jeziku za picoComputer koji učitava pozitivnu dužinu niza N i elemente niza koje smešta počev od adrese 100. Program zatim formira niz A na osnovu niza N, tako što se u nizu A nalaze samo oni brojevi iz niza N koji su deljivi sa 3. Niz A treba smestiti počev od adrese 200. Na kraju program ispisuje sadržaj niza A.
n=1
i=4
adrN=2
adrA=3
a=200
b=100
pom=5
ORG 8 ; TODO: Adjust to make room for static data.
in n
bgt 0,n,kraj
mov adrN,#b
mov adrA,#a
in (adrN),n
mov i,n
petlja: jsr deljivSaTri
beq pom,0,skok
mov (adrA),(adrN)
add adrA,adrA,1
skok: add adrN,adrN,1
sub i,i,1
bgt i,0,petlja
sub n,adrA,#a
mov adrA,#a
out (adrA),n
kraj: stop
deljivSaTri: div pom, (adrN),3
mul pom,pom,3
beq pom, (adrN),staviJedan
mov pom,0
beq pom,pom,iskoci
staviJedan: mov pom,1
iskoci:rts
Zadatak 2
Napisati potprogram na simboličkom mašinskom jeziku za picoComputer koji za pozitivan ceo broj X određuje njegov N-ti stepen, (N >= 0). Napisati program koji sa tastature učitava brojeve X i N a zatim računa vrednost N-tog stepena broja X pozivajući dati potprogram. Unos brojeva X i N i ispisivanje rezultata treba ponavljati sve dok se za vrednost X ne unese vrednost 0.
x=1
n=2
pom=3
ORG 8
petlja: in x
bgt 0,x,kraj
beq 0,x,kraj
in n
bgt 0,n,kraj
jsr stepen
out x
beq x,x,petlja
kraj: stop
stepen: mov pom,x
beq n,0,staviJedan
sub n,n,1
beq n,0,izadji
ponavljaj:mul x,pom,x
sub n,n,1
bgt n,0,ponavljaj
beq n,n,izadji
staviJedan: mov x,1
izadji:rts