70 likes | 182 Views
MCSET R=1 MCDEF B(X) ADD X,R MCSET R=2 MOV Y,R MCEND MCSET R=3 MCDEF A (X,Y) MOV X, X2 MOV Y, R MCSET R=4 B(AAA) ADD X, R MCEND A(CCC,EEE) B(VVV). Makroprocesori.
E N D
MCSET R=1 MCDEF B(X) ADD X,R MCSET R=2 MOV Y,R MCEND MCSET R=3 MCDEF A (X,Y) MOV X, X2 MOV Y, R MCSET R=4 B(AAA) ADD X, R MCEND A(CCC,EEE) B(VVV) Makroprocesori • Prikazati rad makroprocesora sa ugniježđenim makro pozivima (bez ugniježđenih makrodefinicija) na datom primjeru koda. Makroprocesor ima podršku za makropromjenljive.
MCSET R=1 MCDEF B(X) ADD X,R MCSET R=2 MOV Y,R MCEND MCSET R=3 MCDEF A (X,Y) MOV X, X2 MOV Y, R MCSET R=4 B(AAA) ADD X, R MCEND A(CCC,EEE) B(VVV) tabela makropromjenljivih R 1 tabelamakrodefinicija B 1 ADD #1,R MCSET R=2 MOV Y,R MCEND Makroprocesori lista formalnih parametara: • X stek stvarnih param.: Izlaz:
MCSET R=1 MCDEF B(X) ADD X,R MCSET R=2 MOV Y,R MCEND MCSET R=3 MCDEF A (X,Y) MOV X, X2 MOV Y, R MCSET R=4 B(AAA) ADD X, R MCEND A(CCC,EEE) B(VVV) tabela makropromjenljivih R 3 tabelamakrodefinicija B 1 ADD #1,R MCSET R=2 MOV Y,R MCEND A 2 MOV #1,X2 MOV #2,R MCSET R=4 B(AAA) ADD #1,R MCEND Makroprocesori lista formalnih parametara: • X, Y stek stvarnih param.: • CCC,1;EEE,1 Izlaz: MOV CCC,X2 MOV EEE,3
MCSET R=1 MCDEF B(X) ADD X,R MCSET R=2 MOV Y,R MCEND MCSET R=3 MCDEF A (X,Y) MOV X, X2 MOV Y, R MCSET R=4 B(AAA) ADD X, R MCEND A(CCC,EEE) B(VVV) tabela makropromjenljivih R 4 tabelamakrodefinicija B 1 ADD #1,R MCSET R=2 MOV Y,R MCEND A 2 MOV #1,X2 MOV #2,R MCSET R=4 B(AAA) ADD #1,R MCEND Makroprocesori lista formalnih parametara: stek stvarnih param.: • CCC,1;EEE,1 • AAA,2 Izlaz: MOV CCC,X2 MOV EEE,3 ADD AAA,4
MCSET R=1 MCDEF B(X) ADD X,R MCSET R=2 MOV Y,R MCEND MCSET R=3 MCDEF A (X,Y) MOV X, X2 MOV Y, R MCSET R=4 B(AAA) ADD X, R MCEND A(CCC,EEE) B(VVV) tabela makropromjenljivih R 2 tabelamakrodefinicija B 1 ADD #1,R MCSET R=2 MOV Y,R MCEND A 2 MOV #1,X2 MOV #2,R MCSET R=4 B(AAA) ADD #1,R MCEND Makroprocesori lista formalnih parametara: stek stvarnih param.: • CCC,1;EEE,1 • AAA,2 Izlaz: MOV CCC,X2 MOV EEE,3 ADD AAA,4 MOV Y,2
MCSET R=1 MCDEF B(X) ADD X,R MCSET R=2 MOV Y,R MCEND MCSET R=3 MCDEF A (X,Y) MOV X, X2 MOV Y, R MCSET R=4 B(AAA) ADD X, R MCEND A(CCC,EEE) B(VVV) tabela makropromjenljivih R 2 tabelamakrodefinicija B 1 ADD #1,R MCSET R=2 MOV Y,R MCEND A 2 MOV #1,X2 MOV #2,R MCSET R=4 B(AAA) ADD #1,R MCEND Makroprocesori lista formalnih parametara: stek stvarnih param.: • CCC,1;EEE,1 Izlaz: MOV CCC,X2 MOV EEE,3 ADD AAA,4 MOV Y,2 ADD CCC,2
MCSET R=1 MCDEF B(X) ADD X,R MCSET R=2 MOV Y,R MCEND MCSET R=3 MCDEF A (X,Y) MOV X, X2 MOV Y, R MCSET R=4 B(AAA) ADD X, R MCEND A(CCC,EEE) B(VVV) tabela makropromjenljivih R 2 tabelamakrodefinicija B 1 ADD #1,R MCSET R=2 MOV Y,R MCEND A 2 MOV #1,X2 MOV #2,R MCSET R=4 B(AAA) ADD #1,R MCEND Makroprocesori lista formalnih parametara: stek stvarnih param.: • VVV,1 Izlaz: MOV CCC,X2 MOV EEE,3 ADD AAA,4 MOV Y,2 ADD CCC,2 ADD VVV,2 MOV Y,2