Macroprocesoare

Imagine preview
(7/10 din 1 vot)

Acest referat descrie Macroprocesoare.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 1 fisier doc de 13 pagini .

Profesor indrumator / Prezentat Profesorului: Stefan Stanescu

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca. Ai nevoie de doar 3 puncte.

Domeniu: Calculatoare

Extras din document

Macroinstrucţiunea este o scriere comodă a unor grupuri de instrucţiuni folosite mai des. Într-un asamblor, care corespunde unui limbaj construit pe structura unui procesor anumit, se pot implementa, în acest fel, unele operaţii logice specifice unei probleme concrete. Prin macroinstrucţiuni se pot crea instrucţiuni proprii fiecărei noi aplicaţii. Macroinstrucţiunile oferă limbajelor de asamblare unele elemente aferente unui limbaj de nivel înalt. Elaborarea de macroprocesoare a reprezentat, de altfel, o etapa în procesul construirii de compilatoare.

Macroprocesoarele se includ, de regulă, în asambloare, dar pot apărea şi în compilatoarele limbajelor de nivel înalt, oferind facilitatea definirii unor noi elemente de limbaj, convenabile într-o aplicaţie particulară. Uneori, macroprocesoarele se includ în procesoarele de comenzi ale sistemelor de operare. Macroprocesoarele de uz general, nespecifice unui limbaj, care pot apărea într-o aplicaţie deja stabilită, sunt destinate creării de şabloane de comandă, memorate, care oferă aplicaţiei o anumită flexibilitate pe care structura stabilită nu o permite de regulă.

Principalele funcţii ale macroprocesorului sunt definirea macro şi dezvoltarea macro . Operaţia de definire macro stabileşte numele noii construcţii şi alcătuirea corpului acesteia.

Operaţia de dezvoltare macro a unei macroinstrucţiuni este un proces de înlocuire a declaraţiei macroinstrucţiunii cu grupul corespondent de instrucţiuni, conform celor stabilite în definirea macro. Procesul se mai numeşte şi generare macro.

Definirea macro

Se folosesc două directive: MACRO si ENDMACRO. Cu directiva MACRO se introduce numele macroinstucţiunii şi câmpul de operanzi, care vor identifica apelul macro. Câmpul de operanzi începe cu un operand care permite înlocuirea parametrilor formali prin cei efectivi. După prima linie cu MACRO urmează corpul macroinstuctiunii, format din linii cu instrucţiuni, care vor înlocui apelul macro din program. Cu directiva ENDMACRO se indica sfârşitul definirii macro.

Dezvoltarea macro

În cursul programului apare apelul macro, reprezentat prin numele de macroinstrucţiune urmat de operanzii efectivi. Apelul macro primeşte indicator de comentariu în program şi se inserează suita de instrucţiuni conform cu şablonul din definirea macro. În dezvoltarea macro toate referirile la operanzi generici se înlocuiesc cu operanzi locali.

Macroinstrucţiunea poate fi pusă în relaţie cu apelul la subrutină. În ambele cazuri se urmăreşte folosirea de mai multe ori a unui tipar de instrucţiuni clasice, pentru eliberarea programatorului de sarcini repetitive. Deosebirea constă în modul diferit de realizare în practică a acestei acţiuni. La apelul la subrutină, procesul executant al programului parăseşte lista curentă de instrucţiuni, parcurgând temporar lista de instrucţiuni din locul unde se plasează rutina, după care revine la lista originală. La dezvoltarea macro sunt inserate în lista curentă instrucţiunile din şablonul macro, la fiecare apel macro.

Comparaţie între apel la subrutină şi dezvoltare macro (apel macro).

callsub macro &subrutin1,&subrutin2

push

push

push

......

push

call subrutin1

call subrutin2

pop

pop

.....

pop

endmacro

Dezvoltare macro:

callsub alfa, beta push

.......... ......

callsub gama, beta push

call alfa

call beta

pop

.....

pop

Definire macro:

cont macro an,deo,troa

program cu variabilele an,deo,troa

endmacro

Dezvoltare macro, în diferite faze ale programului:

cont uno,due,tre

....

cont ain,tvai,drai

....

cont oan,tu,tri

Se observă că acelaşi program, cont, apare cu modificări de variabile, în diferite locuri în program. Procesorul prelucrează imediat fiecare apariţie, fără pregătiri speciale, ca pe zone obişnuite într-o singură listă de instrucţiuni.

Definire subrutină (procedură):

cont

Fisiere in arhiva (1):

  • Macroprocesoare.DOC