|
 |
Raccolta di Procedure ASM |
BIOSmsg
[17 di 54] |
 | Stampa una
stringa di caratteri colorati nella posizione di stampa corrente
e con il colore predisposto nella
variabile locale
ATTRIB. |
 | E' in grado di operare in ogni modalità video (... anche
in quelle
grafiche). |
 | La Procedura
si chiama in questo modo: |
 | In
ingresso bisogna predisporre:
 | SI
con l'indirizzo di Offset della locazione che contiene il primo carattere
Ascii della stringa da stampare. |
|
 |
Il codice proposto come esempio mette in
evidenza che, di solito, per stampare un messaggio a colori nel giusto punto
non si può fare a meno di specificare tutte e 4 le istruzioni
suggerite; si verificano le condizioni tipiche per la
creazione di in una Macro, la
M_msgC, che con una sola riga di
programma consente tra l'altro di passare come parametro
le coordinate, il colore e
indirizzo della stringa da stampare. |
 | La seguente Area di Testo
mostra il Modulo bios10 utilizzato per
inserire la Procedura
nella Libreria
Giobe.ASM/LIB: |
|
BIOSmsg / bios10 |
NB: se il testo contenuto nell'Area
ti
sembra strano (cioè se contiene
caratteri inconsueti) non hai ancora
installato il font
Giobe.TTF
:
clicca qui!! |
 | L'analisi del codice mette in evidenza il suo sofisticato
modo di operare:
 | mette in evidenza la sua dipendenza
dalla Procedura BIOchr1,
della quale sfrutta le caratteristiche |
 | preleva i caratteri da stampare, uno dopo l'altro, da una zona di memoria
definita dal programma ASM che chiama questa Procedura, localizzata dal
programma (e dall'assemblatore) con l'aiuto di un'etichetta,
scelta a piacere dal programmatore; a questo proposito mostriamo
la tecnica
necessaria per definire e
inizializzare questa variabile:
 | il testo si definisce
nella zona definita
area destinata ai dati del programma, con la
pseudooperazione DB.
|
 | il testo si inizializza
scrivendolo tra virgolette, dopo la parola chiave
DB. |
 | il testo deve
essere chiuso con il carattere terminatore 00H. |
|
 | il carattere verrà stampato con colore di primo
piano (quello dei pixel che formano il carattere) e
colore dello sfondo (quello dei pixel rimanenti) corrispondente al
byte (detto di
attributo di colore) predisposto
nella variabile ATTRIB,
definita e
inizializzata obbligatoriamente dal programma chiamante
|
 | il carattere verrà collocato nella
posizione di stampa
corrente, cioè nel punto esatto in cui sta lampeggiando (nel
momento della chiamata) il cursore hardware del video. |
 | dopo la stampa (in uscita dalla chiamata) la
posizione
del cursore viene aggiornata automaticamente; in altre parole il cursore si
sposta a destra di una posizione e, se già si trova a fine riga, viene
spostato a capo della riga successiva. |
|
 | Per il corretto funzionamento di questa Procedura è
opportuno fissare anche le
coordinate della posizione di stampa (con
M_CURSOR)
e il
colore desiderato (con
M_COLOR); ma
entrambe queste informazioni
non sono strettamente necessarie:
 | se non si specificano le
coordinate la procedura collocherà il carattere nella
posizione di stampa corrente (là dove lampeggia il cursore) |
 | se non si specifica il colore
la procedura prende per buono il codice presente in quel momento nella
variabile
ATTRIB. |
|
 | La Libreria
Giobe.ASM/LIB mette a
disposizione anche la Procedura
RAMmes, che garantisce
la stampa dei testi a livello
RamVideo. |
 | La Libreria
Giobe.MAC offre altresì
numerose e utili Macro,
in grado di organizzare al meglio questo servizio:
|
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|