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° A006 2/3 [37 di 157] 

               

Analisi del Codice · Conclusioni

Gestione Caratteri - Stampa una carattere a colori
Analisi del Codice

               

bulletIl codice assembly del Main Program di EsA006.ASM è proposto dalla seguente casella di testo:

  

Console - Video & Tastiera

Esercizio MOLTO FACILE Esercizio
NB: se il testo nell'Area  ti sembra strano
     
installa il  font
Giobe.TTF: clicca qui!!
Mostra l'Effetto Prova l'eseguibile COM Scarica il codice Sorgente ASM

  

bullet Questo esercizio è sostanzialmente identico al precedente; in aggiunta, subito dopo la pulizia (ClearScreen) dello schermo (CALL BIOScls), viene attivata la Funzione 02H di INT 10H che si occupa di fissare la posizione di stampa corrente, cioè il punto in cui il cursore sta lampeggiando.
bullet La successiva chiamata della Funzione 09H di INT 10H (oggetto del precedente esercizio) mette il carattere desiderato proprio in quel punto.

  

bulletL'osservazione delle 5 nuove istruzioni ribadisce la presenza di quelle necessarie per effettuare la chiamata di sistema (MOV AH,02H e INT 10H), ma evidenzia anche in quali registri bisogna predisporre i parametri indispensabili per questo servizio:
bulletla colonna di stampa in DL, da scegliere tra 0 e 79
bulletla riga di stampa in DH, da scegliere tra 0 e 24
bulletla pagina video in BH, da fissare a 0 (senza entrare nel merito..)

  

bulletLa posizione di stampa imposta dal nostro esempio è riga12 (MOV DH,12), colonna39 (MOV DL,39); ricorda che in assembly (nel Modo Testo standard 03H):
bulletl'angolo in alto a sinistra ha coordinate 0,0
bulletl'angolo in basso a destra ha coordinate riga24, colonna79
bulletcertamente hai notato che in questo caso conviene passare i numeri in decimale, piuttosto che in esadecimale: basta omettere la "H" finale..

  

bulletNon dimenticare che nell'Area destinata ai dati del programma (non visibile nella casella di testo..) deve essere definita e inizializzata obbligatoriamente la variabile locale di nome ATTRIB, indispensabile per assicurare la gestione del colore del carattere da stampare; essa contiene il byte (attributo di colore) da mettere in BL.

  

bulletNon ritengo necessaria l'ulteriore analisi on-line in ambiente  Debug, che peraltro sei ora in grado di gestire da solo; nella trattazione degli esercizi precedenti ti ho già svelato tutti i segreti di un eseguibile come questo...
  
bullet

Se ti può interessare ti ho comunque preparato l'estratto del file Listato EsA006.LST, generato dall’assemblatore per questo esercizio:

  

Scarica il file
EsA006.LST

    

Pagina Precedente Palestra Apprendisti Pagina Successiva Esercizio n° A006 2/3   Torna alla Home  della Palestra Assembly Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
37 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