Macro-limbă - stadopedie

Limbajul macro este un instrument software care permite utilizatorului să specifice textele echivalente condiționate ale anumitor fragmente (macro-uri) din textul programului. Limba macro constă în:

- definiții macro create de utilizator;

- din programele preprocesor care traduc macro-urile la textele rezultate.

În sensul macrocomenzii, este o dezvoltare ulterioară a mecanismului de înlocuire a textului. Folosind macro-uri în textul programului, puteți introduce secvențe de șir (care pot fi date sau comenzi logice) și le puteți lega în contextul punctului de inserare.

Imaginați-vă o situație în care trebuie să efectuați anumite acțiuni repetitive. Mecanismul macro-urilor vă permite să înlocuiți aceleași părți ale codului cu o singură linie, iar textul sursă original este descris o dată într-un anumit loc în program sau într-un fișier extern.

O macrocomandă este un șir, dintre care una dintre componente este denumirea simbolică a macrocomenzii. Numele macrocomenzii poate fi însoțit de parametri. Dacă această linie are loc în corpul codului sursă al programului, traducătorul îl înlocuiește cu una sau mai multe linii. Ce linii sunt înlocuite de o macrocomandă este determinată de o definiție macro, care este un model (descriere) al unei macrocomenzi [8].

Astfel, pentru a folosi o macrocomandă în program, primul lucru pe care trebuie să-l faceți este să setați macrocomenzile. Sintaxa pentru macro-uri este:

listă de argumente formale

Există trei opțiuni pentru localizarea macrocomenzii:

1) Definițiile macro pot fi plasate la începutul textului sursă al programului într-un segment de cod și date, astfel încât să nu afecteze lizibilitatea programului. Această opțiune ar trebui utilizată în cazurile în care macrocomenzile pe care le definiți sunt relevante numai în cadrul unui program.

2) Definițiile macro pot fi plasate într-un fișier separat. Această opțiune este potrivită atunci când lucrați la mai multe programe dintr-o zonă cu probleme. Pentru a face aceste macrocomenzi disponibile într-un anumit program, la începutul codului sursă al acestui program, scrieți directiva include, de exemplu;

; în acest loc se introduce textul fișierului show.inc

3) Macrocomenzile pot fi localizate în bibliotecile macro Dacă există macro-uri universale, care sunt utilizate în aproape toate programele, atunci acestea ar trebui să fie scris în așa-numitele biblioteci macro. Faceți macroele și bibliotecile din această bibliotecă relevante utilizând aceeași directivă INCLUDE. Dezavantajul acestei metode și anterioare este că nu există nici un fișier cu definiții macro este practic imposibil de a restabili logica lucrărilor pe codul sursă al programului, macro saturate.

Când se utilizează macrocomenzi, lista argumentelor formale este înlocuită cu valori specifice determinate de apelul macro-ului.

Utilizarea macrocomenzilor este ca și cum ați folosi proceduri și funcții. Cu toate acestea, instrucțiunile care implementează o subrutină conținută în modulul de încărcare cod o dată și instrucțiunile care implementează macro incluse în program ori de câte ori a fost utilizat macro, adică. E. Atunci când se utilizează un macro crește volumul de program. În același timp, performanța unei proceduri sau funcție necesită transferul controlului la retur (un cuplu de comenzi, cum ar fi CALL și RET), iar echipele de expansiune macro incluse în secvența de ansamblu a instrucțiunilor programului, astfel încât programele care utilizează macro-uri alerga mai repede. În plus, în cazul în care există o subrutină multi-funcțional de ramificare în funcție de valorile parametrilor, sarcina codul modulului subrutină este inclus în întregime, chiar dacă un anumit program este într-adevăr utilizat doar una dintre ramurile algoritmului; într-o comandă macro, numai operatorii definiți de valorile reale ale parametrilor de comandă sunt incluși în fiecare extindere macro, economisind astfel atât timp cât și volum în macro-uri.

Ca rezultat, mijloacele macro oferă o viteză ceva mai mare la costuri de memorie ușor mai mari. De aceea, de obicei, mijloacele macro sunt folosite pentru a proiecta fragmente relativ mici de cod repetitiv.

1. Descrieți limba asamblorului.

2. Din care se află starea mediului executiv al microprocesoarelor cu arhitectura IA-32.

3. Alocarea registrelor cu scop general.

4. Numele și scopul registrelor segmentale.

5. Numele și scopul registrelor caracteristice (steaguri).

6. Caracterizează modurile de operare ale procesoarelor cu arhitectura IA32.

7. Descrieți modelele de memorie utilizate de procesorul de arhitectură IA32.

8. Identificați hardware-ul familiei IA-32 de microprocesoare la nivel de sistem.

9. Structura programului în limba asamblorului.

10. Care sunt directivele? Alocarea principalelor directive.

12. Ce tipuri de date suportă procesorul în ceea ce privește suportul hardware?

13. Listați tipurile de date din punctul de vedere al organizării logice a datelor.

14. Alocați comenzile de expediere.

15 Atribuirea comenzilor aritmetice.

16. Alocarea comenzilor de schimb.

17. Alocarea comenzilor pentru organizarea ciclurilor.

18. Alocarea comenzilor pentru a lucra cu biți.

19. Alocarea comenzilor de comparație.

20. Alocarea comenzilor de transfer de control.

21. Cum sunt organizate procedurile în Assembler? Care sunt directivele utilizate?

22. Care sunt opțiunile de plasare a procedurilor în program?

22. Alocarea comenzilor de sistem.

Sintaxă de definiție macro.

24 Ce este limba macro?

25. Care sunt opțiunile pentru localizarea macrocomenzilor?

Articole similare