Re: Pitanja za asistenta
On 7/6/06, Rade Martinovic <rocky303@gmail.com> wrote:
Dobro pitanje.
Ako pazljivo procitas algoritme u GenerKodax86.doc i ovom fajlu odmah
iznad zadatka videces da se razlikuju i da ni jedan nije potpun. U
GenerKodax86.doc se kaze da se uklanjaju samo adresni deskriptori za
promenljivu b ali registarski deskriptori se ne spominju pa bi prema
tome trebalo da posle ove instrukcije ostane AX: a,b iako b nije vise
u AX. U fajlu gde je ovaj zadatak algoritam ne spominje uklanjanje
deskriptora nigde za ovakvu situaciju. Ako pretpostavis da se u
GenerKodax86.doc podrazumeva da se uklanjaju i registarski deskriptori
zajedno sa adresnim onda je ova tvoja logika dobra.
Ovo bi profesor i asistent trebali da razjasne.
Ja bih radio sa statickim promenljivama.
--
Pozdrav,
Igor Stojkovic mailto: stojkovic.igor@gmail.com
1) Globalna analiza.doc 4. zadatak
U vezi broja blokova u datom segmentu programa. Navedeno je da postoji 6
blokova, i za svaki od njih su dati def i use skupovi. Medjutim u datom
segmentu postoje samo tri bloka i to:
1. a := 0
2. L:b := a+1
c := c+b
a := b+2
if a<100 goto L
3. return c
Ili je možda moguće da sam pogrešno razumeo šta su to blokovi u programu?
Dobro pitanje.
2) Lokalna analiza.doc 4. zadatak
Kada se generiše kod za naredbu 6. a = b+1, generišu se naredbe
MOV b, AX
ADD AX, 1
Međutim, u tom koraku pozivanje funkcije getreg je izbacilo iz adr.
deskriptora promenljive b registar AX, i AX je dodeljeno na korišćenje
promenljivoj a. U trenutku kada se proverava da li se prvi operand
instrukcije nalazi u lokaciji koju je vratila getreg funkcija, ne može se
nikako ustanoviti da se vrednost promenljive b nalazi u registru AX, jer je
ta informacija izbrisana iz adr. deskriptora promenljive b, pa se onda
ustanovljava da se prvi operand NE nalazi u registru AX, pa je potrebno i
generisati instrukciju
MOV AX, b.
Kako je moguće da ova instrukcija nije potrebna?
Ako pazljivo procitas algoritme u GenerKodax86.doc i ovom fajlu odmah
iznad zadatka videces da se razlikuju i da ni jedan nije potpun. U
GenerKodax86.doc se kaze da se uklanjaju samo adresni deskriptori za
promenljivu b ali registarski deskriptori se ne spominju pa bi prema
tome trebalo da posle ove instrukcije ostane AX: a,b iako b nije vise
u AX. U fajlu gde je ovaj zadatak algoritam ne spominje uklanjanje
deskriptora nigde za ovakvu situaciju. Ako pretpostavis da se u
GenerKodax86.doc podrazumeva da se uklanjaju i registarski deskriptori
zajedno sa adresnim onda je ova tvoja logika dobra.
Ovo bi profesor i asistent trebali da razjasne.
3)U vezi sa paskaloidnim programima i obradom poziva funkcija statičkim
okruženjem sa displejima.
Pošto je u vežbama više od jednom napravljen aktivacioni zapis glavnog
programa, a statičke promenljive su bile smeštene u taj zapis glavnog
programa na mesto lokalih promenljivih, postavlja se pitanje da li u stat.
okr. sa displejima postoji nekakav Display0, koji ukazuje na polje kontrolne
veze u aktivacionom zapisu glavnog programa.
Da li na ispitu je potrebno crtati aktivacioni zapis za glavni program, ili
se statičkim promenljivama može pristupati u statičkoj memoriji?
Ja bih radio sa statickim promenljivama.
--
Pozdrav,
Igor Stojkovic mailto: stojkovic.igor@gmail.com
- Follow-Ups:
- Re: Pitanja za asistenta
- From: Anya <cebence@gmail.com>
- Re: Pitanja za asistenta
- References:
- Pitanja za asistenta
- From: Rade Martinovic <rocky303@gmail.com>
- Pitanja za asistenta
Previous by date: Decembar 2005 zad4
Next by date: Re: Pitanja za asistenta
Previous by thread: Pitanja za asistenta Next by thread: Re: Pitanja za asistenta
Previous by thread: Pitanja za asistenta Next by thread: Re: Pitanja za asistenta