Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Funzioni BIOS

Home » Programma il Computer » Tutorial Assembly

Tutorial Assembly - Funzioni BIOS

  Programmazione

VIDEO 05/59 [25 di 79] 

 

bullet Gestione BIOS del Video - INT 10H - Funzione 06H

 

INT 10H

Funzione 06H Spostamento verso l'alto di Aree video (Finestre)

 

bulletSposta verso l'alto un'area ben delimitata (finestra) dello schermo, cancellandone il contenuto dal basso, riga dopo riga.

 

bulletIn ingresso:
bullet AH è posto a 06H
bullet AL indica il numero di righe su cui è effettuato lo scrolling dal basso verso l'alto all'interno della finestra; se AL=0 viene cancellata l'intera area, qualunque sia la sua dimensione.
bulletCH, CL indicano le coordinate di riga, colonna del suo angolo in alto a sinistra
bulletDH, DL indicano le coordinate di riga, colonna del suo angolo in basso a destra
bulletBH specifica il colore delle righe vuote introdotte nella fase di cancellazione

 

bulletIn uscita lascia:
bulletnulla.

 

bulletLa Funzione si chiama in questo modo:

               

  

bulletNei modi che supportano più pagine video questa funzione influenza solo la pagina video correntemente visualizzata.

  

bulletLa finestra trattata da questa Funzione ha dunque altezza pari alla differenza tra CH (riga in alto) e DH (riga in basso) e larghezza pari alla differenza tra CL (colonna a sinistra) e DL (colonna a destra).
bullet Da notare che se le coordinate passate in CX, DX sono quelle corrispondenti ai limiti ammessi dalla risoluzione (per esempio 00,00/24,79 in Modo 03H).
bullet Se però si tenta di tracciare finestre con lato destro posto su una colonna non prevista dal Modo l'effetto finestra viene perso; per esempio la finestra 05,05/19,60 in un Modo a 40 colonne:
bullet nei Modi Testo (per esempio 00H) tutta l'area viene riempita con spazi colorati, così da apparire come una serie di righe complete, esclusa la prima e l'ultima.
bulletlo stesso accade anche nei Modi Grafici (per esempio 13H), ma a livello Pixel: tutta l'area viene riempita con linee di scansione, che vanno da quella più alta del carattere 05,05 a quella più bassa del carattere 19,60, così da essere costituita da una serie di linee di scansione complete, esclusa la prima e l'ultima.

 

Suggerimento Questa Funzione (con AL=0) cancella l'intero schermo (sia nei Modi Testo che nei Modi Grafici) offrendo un buon metodo per eseguire il ClearScreen, migliore di quello ottenibile con la Funzione 00H, più lenta e dai compiti più sofisticati.

 

bulletLa pulizia totale viene imposta anche se il numero di righe da far scorrere (passato in AL) è più grande di quello necessario, corrispondente all’altezza della finestra.

  

bulletL'eventuale testo allocato nella riga che esce dalla parte alta della finestra viene ovviamente perduto.
bulletIn basso viene aggiunta una nuova riga vuota, cioè riempita di spazi con attributo di colore indicato da BH:
bulletnei 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 (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):

               

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
flash Sfondo Primo Piano
F S2 S1 S0 P3 P2 P1 P0

               

bullet

nei Modi Grafici il valore posto in BH non può essere inteso in senso stretto come codice di colore: in Funzione del Modo grafico esso rappresenta più propriamente il valore di uno o più Pixel:
bullet

nei Modi a 2 colori ogni bit a 1 di BH rappresenta un punto acceso (e ogni bit a 0 uno spento) cosicchè‚ la Finestra selezionata sarà riempita di strisce verticali bianche su sfondo nero, una per ogni bit a 1 di BH

bullet

nei Modi a 4 colori ogni Pixel è codificato da 2 bit, per cui il valore di BH rappresenta 4 punti e l'effetto sull'area controllata è ancora a strisce verticali su sfondo nero, ma nei 4 colori codificati dalle coppie di bit di BH

bullet

nei rimanenti Modi Grafici il valore di BH è direttamente utilizzato come colore di ciascun Pixel dell'area, scelto tra i 16 o tra i 64 possibili (nel Modo 13H, 320x200 a 256 colori).

 

bulletGli eseguibili B10_06__.COM (nei Modi Testo) e B10_06gr.COM (nei Modi Grafici) mostrano l’effetto della Funzione 06H dell'INT 10H, ma costituiscono anche un buon esempio del modo di creare e gestire oggetti (aree) in modo dinamico, cioè oggetti di volta in volta diversi ma legati da caratteristiche simili tra loro.
bulletI sorgenti sono documentati nella sezione ASM (clicca sull'iconaApplicazioni Software, nel menu a sinistra).

    

Pagina Precedente Funzioni BIOS Pagina Successiva VIDEO 05/59   Torna alla Home della Sezione Assembler - DownLoad Torna al Menu di "Programma il Computer"
25 di 79
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

    

Funzioni BIOS » Elenco Progressivo | Seriale | Parallela | Stampanti | Video | Cursore
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati