Sezione |
Indirizzi Base
Registri Interni
|
Palestra Livello Apprendisti Livello Esperti |
Programmare in Assembly |
Esercizio n° A007 5/5 [43 di 157] |
|
|
||
Gestione Caratteri - Stampa 10 caratteri uguali a colori | ||
Conclusioni |
|
|
|
|
||
Cosa hai imparato | |||
|
|
Il cursore (cioè le coordinate della posizione di stampa) si può anche leggere (oltre che scrivere). |
|
Leggere il cursore è condizione sine qua non, se si vuole gestire la stampa a colori di testi, risultati, messaggi,... |
|
Tra le righe hai anche imparato che il
valore corrente di qualche registro
può essere sporcato dalle
procedure di sistema:
|
|
|
|
||
Prova ad introdurre modifiche al sorgente.... | |||
|
|
Nella shell DOS fai una copia del sorgente EsA007.ASM (per non perdere l'originale): copy esa007.asm prove0007.asm e conferma con Invio. |
|
Lancia macro prove007 /e e, quando sei nell'editor dell'Ambiente Assembler puoi, per esempio, cambiare lettera, colore o coordinate iniziali; ma forse sei grande abbastanza per provare a stampare tutte le lettere maiuscole... |
|
|
|
||
Cosa ti aspetta | |||
|
|
L'esigenza di stampare un carattere a colori e di tenere aggiornata la posizione del cursore ha mostrato la necessità improrogabile di almeno 3 Funzioni BIOS (la 09H per stampare il carattere corrente, la 03H per leggere la posizione di stampa corrente, la 02H per fissare la nuova posizione di stampa). |
|
Poichè non è possibile fare diversamente e siccome questa pratica è diffusissima, per rendere più snella la scrittura dei sorgenti conviene pensare a farne una procedura simile alla povera BIOSchr (che aggiorna il cursore ma non gestisce il colore). |
|
Il prossimo esercizio affronta e risolve questo problema. |
|
Palestra Apprendisti | Esercizio n° A007 5/5 | |||||||
43 di 157 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|