Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Schede del Tutorial

Home » Programma il Computer » Tutorial Assembly

Le Schede del Tutorial

  Differenza tra Macro e Procedure

SCHEDA n° 03 [ 3  di 4] 

    

    Cosa sono le MacroIstruzioni
     
bulletIl compito primario delle MacroIstruzioni è quello di sostituire con una sola riga di programma 2 o più istruzioni, di solito ben localizzabili e presenti più volte nella sequenza del programma sorgente.

               

bulletIl loro nome (Macro) suggerisce l'idea di qualcosa di grande, macroscopico..., per sottolineare (in modo decisamente esagerato..) che, pur avendo l'aspetto di un'istruzione, ne rappresentano fisicamente sempre almeno 2 (di norma anche di più).

               

bulletIn realtà le MacroIstruzioni sono sostanzialmente istruzioni inesistenti (o pseudoistruzioni) da noi inventate per rendere più leggibile e organizzato il programma sorgente; in questo assicurano gli stessi vantaggi delle Procedure, descritte con le stesse parole, alla fine della pagina precedente.

               

bulletVediamo di riassumere le caratteristiche di una MacroIstruzione:
bulletil progetto di una macro risulta conveniente quando nel sorgente sono evidenti parti di codice (alcune istruzioni) simili tra loro, cioè diverse solo per piccoli particolari, di solito numeri binari
bulletper la sua definizione si utilizzano le direttive MACRO e ENDM, all'interno delle quali saranno raccolte le istruzioni che si desidera sostituire con una sola riga di programma; solo la prima delle 2 direttive sarà preceduta dal nome scelto per la macro
bulletdopo la direttiva MACRO è possibile (ma non obbligatorio) passare parametri, cioè predisporre valori binari sia in forma immediata che con il nome del registro o della variabile che li contiene; questi valori sono destinati a inizializzare una o più istruzioni interne alla macro
bulletin questo modo lo stesso gruppo di istruzioni (racchiuso nel corpo della macro) può essere adattato a situazioni di volta in volta diverse
bulletin pratica questa opportunità rappresenta la seconda grande valenza di una macro: la medesima riga di programma (comunque da noi inventata...) non solo rappresenta più istruzioni ma contiene in sequenza anche i valori iniziali da dare ai vari registri coinvolti dalle medesime istruzioni
bulletil compito dell'effettiva inizializzazione spetta al compilatore e risulta a noi del tutto trasparente (fantastico..)
bulletnon ci sarà invece alcun vantaggio dal punto di vista della memoria di programma necessaria, perchè il compilatore sostituirà comunque la riga di programma contenente la nostra macro con il suo corpo, cioè con le istruzioni ad essa associate, eventualmente modificate sulla base delle indicazioni suggerite dagli eventuali parametri

      

Suggerimento La definizione e l'uso delle Macro rende i programmi più organizzati e leggibili, ma non fa risparmiare memoria di programma; il codice macchina prodotto dall'assemblatore è sempre lo stesso: quello delle istruzioni che la Macro rappresenta

               

bulletAnche il nostro Ambiente Assembler fa gran uso di queste comodissime strutture, rendendo disponibile la preziosa Libreria Giobe.MAC, con le più ricorrenti e utili macro richieste nella programmazione assembly; puoi conoscerle e studiarle una per una della apposita sezione GiobeMAC.

    

Pagina Precedente Scheda n° 03 Pagina Successiva Differenza tra Macro e Procedure Torna al Menu delle Schede del "Tutorial" Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
Scheda n° 03 -  3
1 2 3 4

    

SCHEDE » 1.Header EXE 2.PseudoOp MASM 3.Differenza tra Macro e Procedure
4.
Tabella Vettori 5.PSP 6.Stack 7.Istruzioni 80x86
8.La misura dell'Informazione 9.Numeri e Logica Binaria
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati