Question 1
Question 2
Question 3
Question 4
Question 5
Question
Označiti sistemske labele
Answer
-
@if0:
-
@f_body:
-
main:
-
meda:
Question 6
Question
Izlazni operandi mogu biti:
Answer
-
neposredni
-
registarski
-
direktni
-
indirektni
-
indeksni
Question 7
Question
Označiti neposredne operande:
Answer
-
$-16
-
$milica
-
$36
-
labela
-
(%3)
Question 8
Question
Vrednost dirktnog operanda odgovara
Answer
-
adresi labele, ako ona označava naredbu i koristi se kao operand naredbe skoka ili poziva potprograma
-
sadržaju adresirane lokacije, ako direktni operand odgovara labeli koja označava direktivu i ne koristi se kao operand naredbe skoka ili poziva potprograma
-
sadržaju memorijske lokacije koju adresira sadržaj registra
-
vrednosti tog broja
Question 9
Question
Vrednost registarskog operanda je
Question 10
Question
Označiti registarski operand
Question 11
Question
Indeksni operand započinje
Answer
-
isključivo celim (označenim ili neoznačenim) brojem
-
celim (označenim ili neoznačenim) brojem ili labelom
-
isključivo celim (neoznačenim) brojem
-
isključivo labelom
Question 12
Answer
-
(%7) je indirektni operand
-
vrednost indirektnog operanda je sadržaju memorijske lokacije koju adresira sadržaj registra
-
4(%7) je indirektni operand
-
vrednost indirektnog operanda je sadržaj registra
Question 13
Question
Naredbe za rukovanje stekom su
Question 14
Question
Izgenerisani kod odgovara naredbi:
SUBS -8(%14),-4(%14),%0
MOV %0,-4(%14)
Answer
-
a = b – a;
-
a = b + a;
-
b = b – a;
Question 15
Question
Izgenerisani kod odgovara naredbi:
ADDS-4(%14),-8(%14),%0
ADDS-12(%14),-16(%14),%1
MULS%0,%1,%0
SUBS%0,-20(%14),%0
MOV %0,-4(%14)
Question 16
Question
Radni registar se oslobađa
Answer
-
čim se preuzme njegova vrednost
-
čim se njegova vrednost smesti naredbom mov u neku memorijsku lokaciju
-
oslobađa se kada ga korisnik oslobodi
Question 17
Question
Ako funkcija ne sadrži return iskaz, kao povratna vrednost funkcije služi?
Question 18
Question
Označiti iskaze koji predstavljaju ispravnu upotrebu naredbe push
Answer
-
PUSH %0
-
PUSH $1
-
PUSH -8(%14)
Question 19
Question
Kom delu MiniC koda odgovara generisani asemblerski kod:
ADDS -4(%14),-8(%14),%0
PUSH %0
CALL f
ADDU %15,$4,%15
MOV %13,-4(%14)
Answer
-
a = f(a + b);
-
b = f(a + b);
-
a = f(a) + f(b);
Question 20
Question
Kom delu MiniC koda odgovara generisani asemblerski kod:
@if0:
CMPS -4(%14),-8(%14)
JGES @false0
@true0:
MOV $1,-4(%14)
JMP @exit0
@false0:
@exit0:
Question 21
Question
Ukoliko je MiniC kod sledeći, koja labela će biti generisana kao oznaka početka while petlje (napomena: if je prva naredba u funkciji) :
if(a < b)
a = 1;
while (a < b)
b = b - a;
Answer
-
@while0:
-
@while1:
-
@while2:
Question 22
Question
Naredbi break odgovara koji asemblerski kod:
(napomena za while lab_num = 0 , a za if 1)
while(a < 5) {
if(a == b)
break;
a = a + 1;
}
Answer
-
JMP @exit0
-
JMP @exit1
-
Ne postoji break naredba
Question 23
Question
(Kod kompajlera za jezik C)
Frejm bloka
Answer
-
ne postoji
-
frejm bloka se stvara na ulazu u blok, a uništava na izlasku iz bloka
-
frejm bloka ne sadrži argumente kao ni povratnu vrednost
-
lokalne promenljive blokova se čuvaju u frejmu bloka na steku
-
frejm bloka sadrži argumente kao i povratnu vrednost
-
frejm bloka sadrži argumente
Question 24
Question
U kojoj liniji se nalazi nedostupna naredba asemblerskog koda:
@lab0: CMPS a,b linija 1
JE @true0 linija 2
JNE @false0 linija 3
SUBS %3,$1,%3 linija 4
@true0: MOV b,a linija 5
Question 25
Question
Ako je miniC funkcija int fun( int a), kako se pristupa vrednosti a u asembleru?
Answer
-
8(%14)
-
4(%14)
-
-8(%14)
-
-4(%14)
Question 26
Question
Šta radi naredba RET?
Answer
-
skida sa steka povratnu adresu
-
smešta vrednost povratne adrese u programski brojač i tako preusmerava tok programa
-
smesti povratnu vrednost funkcije u registar %13
Question 27
Question
Za generisanje koda zadužen je
Answer
-
Skener
-
Parser
-
Generator koda
Question 28
Question
Uloga parsera je
Question 29
Question
Koji od registara su radni
Question 30
Question
Kom delu miniC kod odgovaraju generisane asemblerske naredbe (promenljive su deklarisane u redosledu a,b)
ADDS -4(%14),$3,%0
MOV %0,-4(%14)
Answer
-
a = a + 3;
-
b = a + 3;
-
a + 3;
-
a = 3;
Question 31
Question
Označiti indeksne operande
Answer
-
tabela(%0)
-
tabela(%1)
-
-4(%1)
-
(%1)4
Question 32
Question
Označiti indeksne operatore
Answer
-
tabela(%0)
-
tabela(%1)
-
-4(%1)
-
(%1)4
Question 33
Question
Direktiva za zauzimanje memorijskih mesta u HAJ
Question 34
Question
Za rukovanje sa registrima koriste se funkcije
Answer
-
free_reg()
-
take_reg()
-
new_reg()
-
clear_reg()
Question 35
Question
Kod generisanja asemblerskog koda za if naredbu
Answer
-
labela false se uvek generiše, bez obzira da li postoji else
-
labela exit se generiše da bi označila kraj if naredbe
-
labela false se uvek generiše samo ako postoji else
Question 36
Question
Na lokaciji 4(%14) se nalazi
Question 37
Question
Ako je d treca lokalna promenljiva u funkciji kako joj se pristupa
Answer
-
3(%14)
-
4(%14)
-
-3(%14)
-
-8(%14)
-
-12(%14)
-
12(%14)
Question 38
Question
Naredba za sabiranjeim
Answer
-
Ima oblik ADDx operand1, operand2, operand3
-
Operand3 je izlazni
-
Operand1 je izlazni
-
Naredba izaziva izuzetak u slucaju da zbir ne moze da stane u izlazni operand
-
Naredba izaziva izuzetak u slucaju da operandi nisu istog tipa
Question 39
Question
Naredba deljenja
Question 40
Question
Prekoracenje broja radnih registara izaziva
Answer
-
Fatalnu gresku u radu kompajlera
-
Nikada se ne desava
-
Kreiranje novih registara
-
Da se registri koji inace nisu radni koriste kao radni
Question 41
Question
Dopuniti asemblerski kod da odgovara miniC kodu a=f (a+b)
ADDS -4 (%14), -8 (%14), %0
PUSH %0
CALL f
ADDU %15, $[blank_start]4[blank_end],%15
MOV %13, -4 (%14)
Question 42
Question
Registar u memoriji zauzima
Question 43
Question
Naredbe koje menjaju vrednost pokazivaca steka su
Question 44
Question
Lokalne promenljive se adresiraju
Answer
-
Pomocu upotrebe pokazivaca frejma rednog broja promenljive
-
Pomocu upotrebe pokazivaca steka i rednog broja promenljive
-
Pomocu upotrebe radnih registara i rednog broja promenljive
Question 45
Question
Operandi operacije CMPx su
Answer
-
ulazni operand, ulazni operand
-
izlazni operand, ulazni operand
-
ulazni operand, izlazni operand
-
ulazni operand, ulazno-izlazni operand
Question 46
Question
Operand operacije CALL je
Answer
-
ulazni operand
-
izlazni operand
-
ulazno-izlazni operand
Question 47
Question
Koje od sledećih operacija menjaju statusne bite
Question 48
Question
Koje od sledećih operacija izazivaju izuzetke
Answer
-
SUBx
-
ADDx
-
MULx
-
RET
-
CALL
-
DIVx
Question 49
Question
Koliko lokacija na stek frejmu zazuzima unsigned int?
Answer
-
1 lokaciju
-
2 lokacije
-
4 lokacije
-
Zavisi od preciznosti
Question 50
Question
Ovo pitanje služi da niko ne može imati max. :D
Majina omiljena rasa pasa su [blank_start]corgiji[blank_end]
Milčina omiljena rasa pasa su [blank_start]haskiji[blank_end]
Srđanova omiljena rasa pasa su [blank_start]beaglovi[blank_end]
Question 51
Question
Koliko registara opšte namene postoji?
Question 52
Question
Povratna adresa se smešta na stek
Answer
-
pre pokazivača prethodnog stek frejma
-
pre argumenata
-
posle pokazivača prethodnog stek frejma
-
posle lokalnih promenljivih
Question 53
Question 54
Question
Kao pokazivač frejma koristi se registar
Question 55
Question
Naredba SUBx ima
Answer
-
dva ulazna, jedan izlazni operand
-
jedan ulazni, dva izlazna
-
jedan ulazni, jedano izlazni
Question 56
Question
Kojoj naredbi odgovara gerenrisani asemblerski kod (promenljive su deklarisane u redosledu a,b):
ADDS $1, -4(%14), -4(%14)
MOV -4(%14), -8(%14)
Answer
-
b = ++a;
-
a = ++b;
-
b = a + b;
-
b = a;
Question 57
Question
Kojoj naredbi odgovara asemblerski kod (promenljive su deklarisane u redosledu a,b,c, a argument se zove p)?
push $2
call f
add %15, $4, %15
mov %13, -8(%14)
Answer
-
b = f(2);
-
b = f() + 2;
-
b = f(a);
-
b = f(a+b);
Question 58
Question
Kako pristupiti drugom argumentu funkcije
Answer
-
12(%14)
-
-12(%14)
-
8(%14)
-
-8(%14)
Question 59
Question
Koja naredba preuzima sadržaj sa steka?
Question 60
Question
Za šta se koristi registar %15?
Question 61
Question
Veličina unsigned int-a je
Answer
-
ista kao veličina lokacije na steku
-
veća od veličine lokacije na steku
-
manja od veličine lokacije na steku
-
ne može se porediti sa veličinom lokacije na steku
Question 62
Question
Šta omogućava pristup argumentu funkcije?
Question 63
Question 64
Question
Koji od ponuđenih operanada je neposredni?
Question 65
Question
Kom kodu odgovara dati asemblerski kod (promenljive su definisane u redosledu a,b,c)
ADDS $1, -4(%14), -4(%14)
SUBS $3, -4(%14), %0
MOV %0, -8(%14)
Answer
-
b = 3- ++a;
-
b = 3 + --a;
-
b = 3 - a++;
Question 66
Question
Kom kodu odgovara dati asemblerski kod (promenljive su definisane u redosledu a,b,c, a p je argument funkcije):
SUBS -8(%14), $8, %0
SUBS %0, 8(%14), %0
CMP -4(%14), %0
JG @false0
true0:
ADDS -8(%14), $8, %0
MOV %0, -8(%14)
JMP exit0
false0:
exit0:
Answer
-
if( a <= (b-8-p) ) b = b+8;
-
if( a == (b-8-p) ) b = b+8;
-
if( a <= (b-8-p) ) b = b-8;
-
if( a <= (b-p) ) b = b+8;