|
Sezione |
Indirizzi Base
Registri Interni
|
| Palestra Livello Apprendisti Livello Esperti |
| Programmare in Assembly |
Esercizio n° A007 3/5 [41 di 157] |
|
|
|
||
| Gestione Caratteri - Stampa 10 caratteri uguali a colori | ||
| Analisi del Codice [2 di 3] |
|
|
| Ecco finalmente un progetto un po' impegnativo; se hai svolto con diligenza gli altri 6 non dovresti aver difficoltà a riconoscere in questo codice un pezzettino di ciascuno dei precedenti, con 2 piccole novità che scopriremo strada facendo... |
|
|
| Ma andiamo con ordine; il cappello del programma è già stato descritto: pulizia dello schermo e dalla predisposizione del punto di stampa iniziale (fissata alla riga12, colonna39): |
|
|
|
|
|
Esercizio |
NB: se il testo nell'Area
ti
sembra strano installa il font Giobe.TTF: clicca qui!! |
|
|
|
|
|
| Segue il ciclo con la sua parte iterativa, da eseguire 10 volte (MOV CX,10): |
|
|
|
|
| La prima operazione consiste nella lettura della posizione di stampa corrente e costituisce anche la prima novità, rispetto agli esercizi precedenti; il compito è affidato alla Funzione 03H di INT 10H, che lascia le coordinate in DL (colonna) e in DH (riga). |
|
|
| Possiamo notare anche la precedente istruzione PUSH CX, il cui compito è quello di salvare (nello stack) il valore corrente del contatore, molto prezioso. |
|
|
| Segue la stampa del carattere a colori, di cui già sappiamo tutto; anche in questo caso ti faccio notare la coppia di istruzioni estreme (PUSH DX e POP DX) aggiunte, rispetto alla versione discussa in precedenza, per non rischiare di perdere le coordinate di stampa corrente, appena assunte dalla Funzione 03H: |
|
|
|
|
| Non dimenticare che nell'Area destinata ai dati del programma 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. |
|
|
|
Palestra Apprendisti |
|
Esercizio n° A007 3/5 |
![]() |
![]() |
![]() |
||
| 41 di 157 |
|
|
|
|
|
Home
|
|
|||||||
|
Motore Ricerca |
|