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

Re: pitanje za profesora

by Dragan Bojic
subota, 19. februar 2005 - 12:12.


Ako makro nije definisan (nema svoj poseban ulaz u TMD)
onda ne postoji ni njegov poziv (tj. tretira se kao other).


On Sat, 19 Feb 2005, petar radojkovic wrote:

>
>
>
>
>
> 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!