Re: Pitanja u vezi domaceg
Zbog zurbe da projekat izadje sto prije, taj dio je ostao mozda malo nedorecen. Upotreba makropromjenljivih i parametara u vasem domacem treba da bude po uzoru na upotrebu parametara u C preprocesoru. Dakle, misli se samo na mjesto gdje se upotrebljava neki parametar odnosno makropromjenljiva. Dakle, za makropromjenljive prosto mijenjate vrijednost makropromjenljive. Kod parametara, tu mislim da nema zabune. Sa druge strane, ovo nema uticaja na to kako se makropromjenljivoj moze dodjeliti vrijednost. dakle, moguce je postaviti novu vrijednost koja je izracunata na osnovu stare.
Pozdrav,
Sasa
--- On Sun, 12/20/09, Luka Stojanovic <ikentobi@yahoo.com> wrote:
From: Luka Stojanovic <ikentobi@yahoo.com>
Subject: [ir3sp] Pitanja u vezi domaceg
To: ir3sp@rti.etf.rs
Date: Sunday, December 20, 2009, 2:22 PM
Postovani,
U primerima sa predavanja i vezbi pojavljuju se konstrukcije poput
MCSET N=N+1
i
C##N
gde N treba da bude zamenjeno trenutnom vrednoscu. Sa druge strane u tekstu domaceg pise da upotreba
parametara makroa i makropromenljivih treba da bude po uzoru na C
pretprocesor koji ne moze da redefinise vrednost neke makrodefinicije relativno u odnosu na prethodnu vrednost, a ## operator iz gornjeg primera bi vratio CN i kad N ima definisanu vrednost. Kakvo ponasanje treba da pokaze nas pretprocesor (ako se na to mislilo pod "upotreba").
Na osnovu materijala sa vezbi, pretpostavljam da sa strane kako sintakse tako i ponasanja, nas program treba da radi sledece:
ulaz:
MCSET N 3
MCDEFN
ADDN X
MOV ax, X
ADD ax, N
MCEND
ADDN 5
izlaz:
MOV ax, 5
ADD ax, 3
ulaz:
MCSET N 3
MCDEFN
GENLAB
L##N
MCEND
GENLAB: NOP
izlaz:
L3: NOP
takodje pretpostavljam da ne treba da podrzimo operacije nad makropromenljivim tako da:
ulaz:
MCSET N 3
MCDEFN
GENLAB
L##N
MCSET N N+1
MCEND
GENLAB: NOP
GENLAB: NOP
izlaz:
L3: NOP
LN+1: NOP
ili
L3: NOP
L3+1: NOP
Jesu li ovo opravdane pretpostavke?
Pozdrav,
Luka
-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.rs?subject=unsubscribe%20ir3sp
-----------------------------------------------------------------
Pozdrav,
Sasa
--- On Sun, 12/20/09, Luka Stojanovic <ikentobi@yahoo.com> wrote:
From: Luka Stojanovic <ikentobi@yahoo.com>
Subject: [ir3sp] Pitanja u vezi domaceg
To: ir3sp@rti.etf.rs
Date: Sunday, December 20, 2009, 2:22 PM
Postovani,
U primerima sa predavanja i vezbi pojavljuju se konstrukcije poput
MCSET N=N+1
i
C##N
gde N treba da bude zamenjeno trenutnom vrednoscu. Sa druge strane u tekstu domaceg pise da upotreba
parametara makroa i makropromenljivih treba da bude po uzoru na C
pretprocesor koji ne moze da redefinise vrednost neke makrodefinicije relativno u odnosu na prethodnu vrednost, a ## operator iz gornjeg primera bi vratio CN i kad N ima definisanu vrednost. Kakvo ponasanje treba da pokaze nas pretprocesor (ako se na to mislilo pod "upotreba").
Na osnovu materijala sa vezbi, pretpostavljam da sa strane kako sintakse tako i ponasanja, nas program treba da radi sledece:
ulaz:
MCSET N 3
MCDEFN
ADDN X
MOV ax, X
ADD ax, N
MCEND
ADDN 5
izlaz:
MOV ax, 5
ADD ax, 3
ulaz:
MCSET N 3
MCDEFN
GENLAB
L##N
MCEND
GENLAB: NOP
izlaz:
L3: NOP
takodje pretpostavljam da ne treba da podrzimo operacije nad makropromenljivim tako da:
ulaz:
MCSET N 3
MCDEFN
GENLAB
L##N
MCSET N N+1
MCEND
GENLAB: NOP
GENLAB: NOP
izlaz:
L3: NOP
LN+1: NOP
ili
L3: NOP
L3+1: NOP
Jesu li ovo opravdane pretpostavke?
Pozdrav,
Luka
-----------------------------------------------------------------
unsubscribe:
minimalist@rti.etf.rs?subject=unsubscribe%20ir3sp
-----------------------------------------------------------------
- References:
- Pitanja u vezi domaceg
- From: Luka Stojanovic <ikentobi@yahoo.com>
- Pitanja u vezi domaceg