zna li neko zasto je ovo ovako
Da li bi neko mogao da mi pojasni zasto ovde u resenju stoje instrukcije
get_local, put_local i put_static u kodu generisanom za telo funkcije.
U cemu je problem sa load i store instrukcijama, zasto nisu one koriscene, vec
neke koje nisu u instruction setu MJ bar ne onom koji smo dobili.
Neka me neko ispravi ako gresim ali enter instrukcija ce valjda pokupiti sa
expression stacka stvarne parametre i upisati ih u aktivacioni zapis metode u
prostor predvidjen za formalne parametre. U cemu je problem da im se pristupi sa
load i store ?
Hvala unapred svakome ko pomogne
Pozdrav
Zadatak 9. Generisanje koda-2.doc
Prikazati generisani kod za telo funkcije prikazano na listingu. Prikazati
redosled masinskih instrukcija koje se izvrsavaju pri pozivu funkcije m.
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);
}
Resenje:
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 i put_static u kodu generisanom za telo funkcije.
U cemu je problem sa load i store instrukcijama, zasto nisu one koriscene, vec
neke koje nisu u instruction setu MJ bar ne onom koji smo dobili.
Neka me neko ispravi ako gresim ali enter instrukcija ce valjda pokupiti sa
expression stacka stvarne parametre i upisati ih u aktivacioni zapis metode u
prostor predvidjen za formalne parametre. U cemu je problem da im se pristupi sa
load i store ?
Hvala unapred svakome ko pomogne
Pozdrav
Zadatak 9. Generisanje koda-2.doc
Prikazati generisani kod za telo funkcije prikazano na listingu. Prikazati
redosled masinskih instrukcija koje se izvrsavaju pri pozivu funkcije m.
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);
}
Resenje:
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: zna li neko zasto je ovo ovako
- From: "Uros" <urke_etf@yahoo.it>
- Re: zna li neko zasto je ovo ovako
Previous by date: Re: optimizacija, zadaci posle 8.?
Next by date: Za asistenta - Integralni domaci?
Previous by thread: Re: optimizacija, zadaci posle 8.? Next by thread: Re: zna li neko zasto je ovo ovako
Previous by thread: Re: optimizacija, zadaci posle 8.? Next by thread: Re: zna li neko zasto je ovo ovako