Pitanje za Asistenta (generisanje koda)
U zadacima 9 i 10 fajla GenerisanjeKoda-2.doc imamo sledece MJ opcode-s:
get_local
put_local
dok se u mikro javi oni ne spominju..
Da li je to tu samo da bi naznacilo da se radi o lokalnim parametrima procedure/funkcije a u stvari se koristi:
load
store
posto svaka procedura/funkcija ima svoj frame i load i store imaju operande relativne u odnosu na fp
Kako da radimo na ispitu?
PRILOG ZADATKA 9:
Prikazati generisani kod za telo funkcije prikazano na listingu.
int p = 5,q =6;
void m (int i, int j) int k;
{
p = j;
k = i;
return k;
}
void main ()
{
q = m(p,1);
}
Rešenje:
enter 2,3
get_local 1 // p = j;
put_static 0
get_local 0 // k = i;
put_local 2
get_local 2 // return k;
exit
return
getstatic 0 // m(p,1);
const_1
call -20
putstatic 1 //k = result
get_local
put_local
dok se u mikro javi oni ne spominju..
Da li je to tu samo da bi naznacilo da se radi o lokalnim parametrima procedure/funkcije a u stvari se koristi:
load
store
posto svaka procedura/funkcija ima svoj frame i load i store imaju operande relativne u odnosu na fp
Kako da radimo na ispitu?
PRILOG ZADATKA 9:
Prikazati generisani kod za telo funkcije prikazano na listingu.
int p = 5,q =6;
void m (int i, int j) int k;
{
p = j;
k = i;
return k;
}
void main ()
{
q = m(p,1);
}
Rešenje:
enter 2,3
get_local 1 // p = j;
put_static 0
get_local 0 // k = i;
put_local 2
get_local 2 // return k;
exit
return
getstatic 0 // m(p,1);
const_1
call -20
putstatic 1 //k = result
- Follow-Ups:
- Re: Pitanje za Asistenta (generisanje koda)
- From: "Jovan Popovic" <jovan@etf.bg.ac.yu>
- Re: Pitanje za Asistenta (generisanje koda)
- References:
Previous by date: JLex Cup vs JFlex Cup
Next by date: Re: Pitanje za Asistenta (generisanje koda)
Previous by thread: Re: Apel Next by thread: Re: Pitanje za Asistenta (generisanje koda)
Previous by thread: Re: Apel Next by thread: Re: Pitanje za Asistenta (generisanje koda)