Frage 1
Frage 2
Frage 3
Frage 4
Frage 5
Frage
Označiti sistemske labele
Antworten
-
@if0:
-
@f_body:
-
main:
-
meda:
Frage 6
Frage
Izlazni operandi mogu biti:
Antworten
-
neposredni
-
registarski
-
direktni
-
indirektni
-
indeksni
Frage 7
Frage
Označiti neposredne operande:
Antworten
-
$-16
-
$milica
-
$36
-
labela
-
(%3)
Frage 8
Frage
Vrednost dirktnog operanda odgovara
Antworten
-
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
Frage 9
Frage
Vrednost registarskog operanda je
Frage 10
Frage
Označiti registarski operand
Frage 11
Frage
Indeksni operand započinje
Antworten
-
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
Frage 12
Antworten
-
(%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
Frage 13
Frage
Naredbe za rukovanje stekom su
Frage 14
Frage
Izgenerisani kod odgovara naredbi:
SUBS -8(%14),-4(%14),%0
MOV %0,-4(%14)
Antworten
-
a = b – a;
-
a = b + a;
-
b = b – a;
Frage 15
Frage
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)
Frage 16
Frage
Radni registar se oslobađa
Antworten
-
čim se preuzme njegova vrednost
-
čim se njegova vrednost smesti naredbom mov u neku memorijsku lokaciju
-
oslobađa se kada ga korisnik oslobodi
Frage 17
Frage
Ako funkcija ne sadrži return iskaz, kao povratna vrednost funkcije služi?
Frage 18
Frage
Označiti iskaze koji predstavljaju ispravnu upotrebu naredbe push
Antworten
-
PUSH %0
-
PUSH $1
-
PUSH -8(%14)
Frage 19
Frage
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)
Antworten
-
a = f(a + b);
-
b = f(a + b);
-
a = f(a) + f(b);
Frage 20
Frage
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:
Frage 21
Frage
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;
Antworten
-
@while0:
-
@while1:
-
@while2:
Frage 22
Frage
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;
}
Antworten
-
JMP @exit0
-
JMP @exit1
-
Ne postoji break naredba
Frage 23
Frage
(Kod kompajlera za jezik C)
Frejm bloka
Antworten
-
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
Frage 24
Frage
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
Frage 25
Frage
Ako je miniC funkcija int fun( int a), kako se pristupa vrednosti a u asembleru?
Antworten
-
8(%14)
-
4(%14)
-
-8(%14)
-
-4(%14)
Frage 26
Frage
Šta radi naredba RET?
Antworten
-
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
Frage 27
Frage
Za generisanje koda zadužen je
Antworten
-
Skener
-
Parser
-
Generator koda
Frage 28
Frage 29
Frage
Koji od registara su radni
Frage 30
Frage
Kom delu miniC kod odgovaraju generisane asemblerske naredbe (promenljive su deklarisane u redosledu a,b)
ADDS -4(%14),$3,%0
MOV %0,-4(%14)
Antworten
-
a = a + 3;
-
b = a + 3;
-
a + 3;
-
a = 3;
Frage 31
Frage
Označiti indeksne operande
Antworten
-
tabela(%0)
-
tabela(%1)
-
-4(%1)
-
(%1)4
Frage 32
Frage
Označiti indeksne operatore
Antworten
-
tabela(%0)
-
tabela(%1)
-
-4(%1)
-
(%1)4
Frage 33
Frage
Direktiva za zauzimanje memorijskih mesta u HAJ
Frage 34
Frage
Za rukovanje sa registrima koriste se funkcije
Antworten
-
free_reg()
-
take_reg()
-
new_reg()
-
clear_reg()
Frage 35
Frage
Kod generisanja asemblerskog koda za if naredbu
Antworten
-
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
Frage 36
Frage
Na lokaciji 4(%14) se nalazi
Frage 37
Frage
Ako je d treca lokalna promenljiva u funkciji kako joj se pristupa
Antworten
-
3(%14)
-
4(%14)
-
-3(%14)
-
-8(%14)
-
-12(%14)
-
12(%14)
Frage 38
Frage
Naredba za sabiranjeim
Antworten
-
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
Frage 39
Frage 40
Frage
Prekoracenje broja radnih registara izaziva
Antworten
-
Fatalnu gresku u radu kompajlera
-
Nikada se ne desava
-
Kreiranje novih registara
-
Da se registri koji inace nisu radni koriste kao radni
Frage 41
Frage
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)
Frage 42
Frage
Registar u memoriji zauzima
Frage 43
Frage
Naredbe koje menjaju vrednost pokazivaca steka su
Frage 44
Frage
Lokalne promenljive se adresiraju
Antworten
-
Pomocu upotrebe pokazivaca frejma rednog broja promenljive
-
Pomocu upotrebe pokazivaca steka i rednog broja promenljive
-
Pomocu upotrebe radnih registara i rednog broja promenljive
Frage 45
Frage
Operandi operacije CMPx su
Antworten
-
ulazni operand, ulazni operand
-
izlazni operand, ulazni operand
-
ulazni operand, izlazni operand
-
ulazni operand, ulazno-izlazni operand
Frage 46
Frage
Operand operacije CALL je
Antworten
-
ulazni operand
-
izlazni operand
-
ulazno-izlazni operand
Frage 47
Frage
Koje od sledećih operacija menjaju statusne bite
Frage 48
Frage
Koje od sledećih operacija izazivaju izuzetke
Antworten
-
SUBx
-
ADDx
-
MULx
-
RET
-
CALL
-
DIVx
Frage 49
Frage
Koliko lokacija na stek frejmu zazuzima unsigned int?
Antworten
-
1 lokaciju
-
2 lokacije
-
4 lokacije
-
Zavisi od preciznosti
Frage 50
Frage
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]
Frage 51
Frage
Koliko registara opšte namene postoji?
Frage 52
Frage
Povratna adresa se smešta na stek
Antworten
-
pre pokazivača prethodnog stek frejma
-
pre argumenata
-
posle pokazivača prethodnog stek frejma
-
posle lokalnih promenljivih
Frage 53
Frage 54
Frage
Kao pokazivač frejma koristi se registar
Frage 55
Antworten
-
dva ulazna, jedan izlazni operand
-
jedan ulazni, dva izlazna
-
jedan ulazni, jedano izlazni
Frage 56
Frage
Kojoj naredbi odgovara gerenrisani asemblerski kod (promenljive su deklarisane u redosledu a,b):
ADDS $1, -4(%14), -4(%14)
MOV -4(%14), -8(%14)
Antworten
-
b = ++a;
-
a = ++b;
-
b = a + b;
-
b = a;
Frage 57
Frage
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)
Antworten
-
b = f(2);
-
b = f() + 2;
-
b = f(a);
-
b = f(a+b);
Frage 58
Frage
Kako pristupiti drugom argumentu funkcije
Antworten
-
12(%14)
-
-12(%14)
-
8(%14)
-
-8(%14)
Frage 59
Frage
Koja naredba preuzima sadržaj sa steka?
Frage 60
Frage
Za šta se koristi registar %15?
Frage 61
Frage
Veličina unsigned int-a je
Antworten
-
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
Frage 62
Frage
Šta omogućava pristup argumentu funkcije?
Frage 63
Frage 64
Frage
Koji od ponuđenih operanada je neposredni?
Frage 65
Frage
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)
Antworten
-
b = 3- ++a;
-
b = 3 + --a;
-
b = 3 - a++;
Frage 66
Frage
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:
Antworten
-
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;