Come Funziona
Area Comunicaz. Bios |
||
Video |
Programmazione |
PROCEDURE BIOS 54/59 [76 di 84] |
|
Gestione BIOS del Video -
INT 10H
- Funzione 13H
|
|
Scrive una stringa sul monitor. |
|
In
ingresso:
|
|
In uscita lascia:
|
|
L'impiego della nostra Funzione 13H dell'INT 10H nella stampa di messaggi è piuttosto particolare, poco pratico e macchinoso... | |
In generale è più conveniente organizzare le numerose altre Funzioni BIOS di INT 10H adatte alla stampa dei caratteri (come le Funzioni 09H, 0AH e 0EH) al fine di creare Procedure più efficienti di questa (vedi riferimenti in fondo alla pagina). |
|
La stringa di caratteri da stampare deve essere predisposta in memoria e puntata dai registri ES:BP; il primo dei suoi caratteri sarà posto a video a partire dalla posizione di stampa indicata da DH (riga) e DL (colonna) nella pagina indicata da BH (quando il Modo video ne prevede più di una). | |||||
Un'altra caratteristica è legata al modo con cui bisogna
predisporre l'informazione:
|
|
La richiesta conoscenza del numero di caratteri da stampare (da predisporre in CX) può ingenerare fastidio al programmatore, che si vede potenzialmente costretto a contare i caratteri della stringa.
|
|
La Funzione può essere ritenuta una estensione della Funzione 0EH di INT 10H dato che è in grado di interpretare alcuni tra i primi 32 caratteri Ascii in modo TTY (TeleTYpe) cioè non per mettere a video la loro matrice di punti prevista dal Set coinvolto, ma per esercitare l'azione di controllo ad essi associata. | |||||||||||
I caratteri Ascii di
controllo trattati in modo funzionale sono:
| |||||||||||
I più ricorrenti tra essi sono la coppia 0D/0AH, solitamente aggiunta automaticamente dagli editor al termine di ciascuna riga digitata e corrisponde alla pressione del tasto Invio; tutti i rimanenti codici Ascii sono semplicemente posti a video nella loro forma consueta. |
|
La tecnica con cui la stringa viene colorata dipende dalla SottoFunzione coinvolto (una delle 4 possibili, dichiarato in AL) e dal Modo Video corrente. | |||||||||||||||||||||||||||||||
Nei
Modi Testo
il
codice di colore (detto
anche attributo) è il
classico byte diviso in 3 campi, in grado di gestire sia lo
Sfondo che il Primo Piano, secondo lo schema
seguente; il colore associato a ciascun
campo è descritto
in questa pagina; la combinazione degli 8 bit da luogo a 28 =
256 diversi accoppiamenti: puoi vederne
l'effetto ed impararne il codice consultando la pagina dei
Colori
Assembly in Modo Testo):
|
|
In quasi tutti i Modi Grafici il valore di BL va inteso come colore dei Pixel che formano il carattere (Primo Piano) ma non lo Sfondo, assunto sempre nero, a meno che il bit7 del codice posto in BL sia forzato a 1; in questo caso il colore dei caratteri stampati sarà il risultato della XOR del valore passato in BL e quello del colore del carattere attualmente presente in quel punto; il codice in BL deve esser ribadito ogni volta che si chiama la Funzione. | |
Fa eccezione il ModoGrafico 13H (320x200 a 256 colori, VGA) per il quale, per ciascun carattere, è possibile selezionare sia il Primo Piano (ancora con BL) che lo Sfondo (con BH, che ora non seleziona più la pagina come negli altri Modi), scelto tra uno dei 64 possibili . |
|
Va sottolineato infine che
le
SottoFunzioni differiscono anche per il
modo con
cui viene servito il Cursore:
|
|
La Funzione
si chiama in questo modo: SottoFunzione AL=00H attributo di Colore viene assunto da BL, posizione del Cursore non aggiornata |
|
|
|
|
|
|
|
|
Come anticipato la Libreria Giobe.LIB organizza la stampa di messaggi (in alternativa all'uso di questa Funzione 13H di INT 10H) con alcune Procedure e alcune Macro. |
|
Per la stampa dei messaggi la Libreria
Giobe.LIB offre la
procedura
BIOSmsg
(basata sulla procedura
BIOchr1)
e la procedura
RAMmes
(basata sulla scrittura diretta in
RamVideo) La Raccolta di MacroIstruzioni Giobe.MAC organizza questo servizio con le Macro M_CURSOR, M_msgC , M_msgN (a livello BIOS) e RAMmsg, RAMcol, RAMnor (a livello RamVideo) |
|
Le strutture delle Librerie potranno essere chiamate con efficienza anche nei Modi Grafici, anche se in esse il cursore non è visibile. |
|
Gli eseguibili B10_13__.COM (nei Modi Testo) e B10_13gr.COM (nei Modi Grafici) mostrano l’effetto della Funzione 13H dell'INT 10H. | |
I sorgenti sono documentati nella sezione ASM (clicca sull'icona, nel menu a sinistra). |
|
Video01 | PROCEDURE BIOS 54/59 | |||||||
76 di 84 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|