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

Palestra Livello Apprendisti Livello Esperti

Home » Programma il Computer » Tutorial Assembly

Palestra Assembly - Home Page

  Programmare in Assembly

Esercizio n° A010 6/6 [56 di 157] 

               

Analisi del Codice · Conclusioni

Gestione Caratteri - Stampa di una stringa a colori con la M_msgC
Conclusioni

               

 

 

    

Osservazione importante
 

    

 

bulletLa presenza di Macro rende la lunghezza del sorgente molto compatta e con poche righe, ma la lunghezza del codice generato non cambia!

  

bulletla riga di programma che ho definito Macro, con i suoi eventuali parametri, non è un'istruzione ma una pseudoistruzione, perchè in concreto ne rappresenta (di solito) più di una, come abbiamo avuto modo di imparare
bulletquando l'assemblatore incontra una macro la cerca nel file di testo incluso con le direttive if1 ... include GIOBE.MAC ... endif... e, ovviamente, la deve trovare (.. altrimenti segnala errore)
bulletsubito dopo assume le istruzioni racchiuse tra le direttive MACRO e ENDM della Macro e le copia al posto della pseudoistruzione, aggiungendo al posto giusto i valori dei parametri passati
bulletalla fine il codice generato è quindi uguale a quello che si sarebbe ottenuto non sostituendolo con le macro

  

bulletSe la cosa ti lascia perplesso ricorda che le Macro sono grazia di Dio: sono molto di più di quello che danno a vedere...

  

bulletPer capire esattamente quello che è successo diventa molto utile consultare il file Listato EsA010.LST, generato dall’assemblatore per questo esercizio:

  

Scarica il file
EsA010.LST

  

bulletQuesta volta ne vale proprio la pena...

 

 

    

Cosa hai imparato
 

    

 

bulletL'uso delle Macro non riduce la quantità di codice macchina generato, ma rende favolosamente comoda la programmazione assembly.

 

bulletLa Macro M_msgC etichetta, riga, colonna, colore è molto conveniente e consigliata per la stampa di stringhe ascii.
bulletLa Macro M_msgC mette a video una stringa con una sola riga (pseudoistruzione) di programma, ma consuma comunque 27 bytes (consulta il il file Listato EsA010.LST).

 

bulletLa Macro M_msgN etichetta è molto conveniente e consigliata per la stampa di stringhe ascii poste di seguito ad altre, già presenti a video.
bulletLe Macro dedicate alla stampa delle stringhe devono la loro efficienza alla procedura BIOSmsg.

 

bulletLa Macro M_CURSOR riga, colonna è indispensabile per fissare la posizione di stampa, per esempio di un carattere isolato.
bulletLa Macro M_COLOR colore è consigliata per fissare il colore, per esempio di un carattere isolato.

 

bulletPer disporre delle Macro della libreria Giobe.MAC è necessario e sufficiente aggiungere all'inizio del sorgente le 3 direttive: if1 ... include GIOBE.MAC ... endif...

 

bulletL'uso delle suddette Macro è possibile solo se la libreria Giobe.MAC è presente nella cartella di lavoro (C:\Arch-Lab\Lavoro).

 

 

 

    

Cosa ti aspetta
 

    

 

bulletCon questo esercizio guidato termina il primo livello (Gestione dei Caratteri): ora sei completamente autonomo nella scrittura a video e basta un po' di fantasia per creare desktop (piani di lavoro) dall'estetica personale.
bulletQuesto concetto di desktop sarà ripreso nelle successive occasioni; il secondo livello si occuperà della seconda importante necessità, nella programmazione assembly: la Acquisizione dei Caratteri da Tastiera.

    

Pagina Precedente Palestra Apprendisti Pagina Successiva Esercizio n° A010 6/6   Torna alla Home  della Palestra Assembly Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
56 di 157
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157

    

PALESTRA » Apprendisti » Es.001 Es.002 Es.003 Es.004 Es.005 Es.006 Es.007 Es.008 Es.009 Es.010 Es.011 Es.012
Es.013 Es.014 Es.015 Es.016 Es.017 Es.018 Es.019 Es.020 Es.021 Es.022 Es.023 Es.024
Es.025 Es.026 Es.027 Es.028 Es.029 Es.030 Es.031 Es.032 Es.033

| Che serve per iniziare | Prima compilazione | Livello Esperti |

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