|
 |
Raccolta di Procedure ASM |
RAMmes
[44 di 54] |
 | Stampa una
stringa di caratteri colorati nella posizione di stampa corrente
e con il colore predisposto nella
variabile locale
ATTRIB, direttamente a livello
RamVideo. |
 | 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
RAMcol, 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 ram02 utilizzato per
inserire la Procedura
nella Libreria
Giobe.ASM/LIB: |
|
RAMmes / ram02 |
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
RAMchr,
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, |
 | dopo la stampa (in uscita dalla chiamata) la
posizione
del cursore viene aggiornata,
cioè lascia aggiornato di puntatore alla locazione Ramvideo chiamata ad
ospitare il carattere successivo. |
|
 | Per il corretto funzionamento di questa Procedura è
opportuno fissare anche le
coordinate della posizione di stampa (con
RAM_cur)
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 |
 | 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
BIOSmsg, che
garantisce la stampa dei testi a livello BIOS. |
 | La Libreria
Giobe.MAC offre altresì
numerose e utili Macro,
in grado di organizzarlo al meglio questo servizio: |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|