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 18/59 [38 di 79] 

 

bullet Gestione BIOS del Video - INT 10H - Funzione 10H- SottoFunz. 03H

 

INT 10H

Funzione 10H/03H Controlla intensità e flash dello Sfondo

 

bulletControlla la possibilità di disporre di testi con sfondo lampeggiante o con sfondo ad alta intensità.

 

bulletIn ingresso:
bullet AH è posto a 10H
bulletAL è posto a 03H e indica la SottoFunzione
bulletBL impone la scelta sul modo di trattare lo sfondo dei caratteri:
bulletcon 00H  abilita la possibilità di proporre caratteri con sfondo ad alta intensità (il flash non è possibile)
bulletcon 01H  abilita la possibilità di proporre caratteri con sfondo lampeggiante (l'alta intensità non è possibile)

 

bulletIn uscita lascia:
bulletnulla

 

bulletLa SottoFunzione si chiama in questo modo:

               

  

bullet Nei Modi Testo ogni carattere è caratterizzato da 2 bytes, posti in sequenza nelle locazioni del Buffer del Video (RamVideo) a partire dall'indirizzo B800H; il primo (posto nelle locazioni pari) è il codice Ascii del carattere, e il secondo (posto nelle locazioni dispari) è il byte di attributo di colore.
bulletIn condizioni normali la struttura del byte d'attributo è la seguente:

 

Attributo
di Colore
  bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
Flash Sfondo Primo Piano

  

bullet È bene chiarire che i 2 effetti sullo sfondo sono alternativi:
bulletl'effetto lampeggio consiste praticamente nel sostituire periodicamente, circa ogni mezzo secondo, i 4 bit di Primo Piano con quelli dello Sfondo; l’alternanza del carattere con lo spazio vuoto provoca la sensazione di lampeggio
bulletl'effetto alta luminosità consiste invece nel consentire altri 8 colori per lo Sfondo, in aggiunta ai classici 8 garantiti dalla combinazione dei 3 bit6, bit5 e bit4 dell'attributo; il pratica anche per lo Sfondo sono resi disponibili i 16 colori di norma possibili solo per il Primo Piano .
bulletIn ogni caso appare evidente che l'uno o l'altro effetto è attivato solo se il bit7 del byte d’Attributo è posto a 1; non bisogna dimenticare per altro che i 2 effetti sono alternativi, cioè non è possibile avere contemporaneamente caratteri lampeggianti e caratteri con sfondo ad alta intensità.

  

bulletPer default è garantita la possibilità di far lampeggiare lo Sfondo del Carattere, non quella di evidenziarlo con colori ad alta intensità!
bulletIn effetti in tutti gli ambienti DOS (per esempio nella programmazione in Turbo Pascal) ponendo a 1 il bit7 del byte d’Attributo abbiamo sempre avuto la possibilità di imporre il lampeggio dei testi, proposti su uno degli 8 seguenti colori di Sfondo:

 

bit7 bit6 bit5 bit4 Colore dello SFONDO
con 1


effetto
FLASH
dello sfondo
dei testi
0 0 0 Nero
0 0 1 Blu
0 1 0 Verde
0 1 1 Azzurro
1 0 0 Rosso
1 0 1 Magenta
1 1 0 Marrone
1 1 1 Bianco

  

bulletCon l'avvento dei nuovi sistemi operativi (Win2000, WinXP) abbiamo notato che questa opportunità ci viene negata: sebbene si tenti di programmare il flash dei testi (ponendo a 1 il bit7 del byte d’Attributo) al posto dell'effetto desiderato ci viene propinata una ulteriore serie 8 di colori per lo sfondo:

 

bit7 bit6 bit5 bit4 Colore dello SFONDO
con 1


effetto
ALTA
INTENSITA'

dello sfondo
dei testi
0 0 0 Grigio
0 0 1 Blu elettrico
0 1 0 Verde chiaro
0 1 1 Celeste
1 0 0 Rosa
1 0 1 Magenta Chiaro
1 1 0 Giallo
1 1 1 Bianco Brillante

  

bulletIn realtà esiste la possibilità di porre rimedio a questo ulteriore sgarbo di zio Bill & Soci....
bulletBisogna sapere che è il valore del bit3 del Registro di controllo di Modo (Registro 10H del Controller di Attributo) che controlla l'effetto sullo Sfondo del carattere (comunque imposto ponendo a 1 il bit7 del byte d’Attributo):
bulletcon bit3 = 1 viene imposto il lampeggio dello Sfondo
bulletcon bit3 = 0 viene imposta l'alta luminosità dello Sfondo

  

bulletLa SottoFunzione che stiamo studiando controlla il bit3 di tale registro, copiandovi il valore del bit0 di BL, cosicché se BL=01H lo Sfondo sarà lampeggiante, mentre con BL=00H lo Sfondo sarà proposto con colori evidenziati, disabilitando il lampeggio.

  

bulletDa notare che la variabile di sistema 0000:0465H, dedicata al Registro di Controllo di Modo CGA (ma emulato da diversi Adattatori video), associa le medesime informazioni al bit5 del suo contenuto.

  

bulletAnche la Funzione 1BH di INT 10H può servire allo scopo: dopo la sua chiamata viene costruita una Tabella di 64 bytes, la cui quarantacinquesima locazione (Offset 002DH) offre questo dato, casualmente ancora attraverso il suo bit5.

 

bulletPer poter trarre vantaggio da questa SottoFunzione è sempre consigliabile attivare in precedenza la Funzione 1AH di INT 10H al fine di conoscere con certezza il tipo di adattatore e di monitor su cui si lavora.

 

bulletL'eseguibile B10_1003.COM mostra l’effetto della SottoFunzione 03H della Funzione 10H dell'INT 10H.
bulletIl sorgente è documentato nella sezione ASM (clicca sull'iconaApplicazioni Software, nel menu a sinistra).

    

Pagina Precedente Funzioni BIOS Pagina Successiva VIDEO 18/59   Torna alla Home della Sezione Assembler - DownLoad Torna al Menu di "Programma il Computer"
38 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