«« ( Date ) »» // «« ( Thread ) »» // ri4sp - 2005

pitanje za profesora

by petar radojkovic
subota, 19. februar 2005 - 02:10.






Sta raditi ako kod ugnezdenih makrodefinicija imamo poziv makroa koji jos nije definisan?

Da li je resenje da taj red posmatramo kao “other” granu i da je samo (naravno uz zamenu parameta) prepisemo na izlaz?


Konkretno : rok januar 2002. (treci zadatak)





3.20 Data je makrodefinicija:

MCDEF MCDEF MCEND

X1 A, B, C, D X3 E, F, G, H X2 R0, D, R1, A

MOV A, R0 MOV E, R0 MOV R1, C

MOV B, R1 MOV F, R1 MCEND

MCDEF ADD G, R2

X2 A, B, E, F ADD H, R3
CMP A, B ADD A, R2
BLE G X2 B, R3, A, R4

DIV E, R0 MCEND

[G]: ADD F, R0 MUL R1, R0

X3 C, R0, D, R0 ADD F, R0

Navesti konaèni izgled tabele makrodefinicija i izlaz makroprocesora za makropoziv
X1 C, R2, A, R4 ?



Prilikom makroekspanzije X1 mi definisemo X2 u tabeli makrodefinicija (TMD) , zatim i pozivamo X2 za sada je sve u redu….,medjutim u makrou X2 mi prvo pozivamo makro X3 (red X3 C, R0, D, R0 ) pa ga tek onda definisemo (prepisujemo iz ulaza za makro X2 u poseban ulaz za makro X3….)….

Da li je resenje u tome da red “X3 C, R0, D, R0” u algoritmu posmatramo kao “other” granu (zato sto jos u TMD nemamo ulaz za kljuc X3) i da je samo (naravno uz zamenu parametara) prepisemo na izlaz?





I samo jos jedno pitanje :



U makrou X2 se poziva makro X3 , opet u telu makroa X3 se poziva makro X2…jel uopste moguce izvrsiti ekspanziju makroa X2 i X3? Ovaj problem se mozda ne javlja u ovom zadatku (zato sto se i ne trazi ekspanzija X3), ali me zanima sam princip….ja imam utisak da bi to licilo na beskonacnu petlju…





hvala unapred



P.S. Ako neka od objasnjenja i nisu suvise bitna za ispit (pre svega mislim na drugo pitanje ) , odgovor “Nije suvise bitno za ispit ” me apsolutno zadovoljava….





---------------------------------
ALL-NEW Yahoo! Messenger - all new features - even more fun!