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 34/59 [54 di 79] 

 

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

 

INT 10H

Funzione 11H/03H Seleziona le Tabelle di uno o più Font di caratteri da visualizzare

 

bulletAttiva la Tabella RAM del Generatore di Caratteri Hardware da cui assumere il FONT, sulla base del valore del bit3 dell'Attributo di Colore; è tipica dei Modi Testo.

 

bulletIn ingresso:
bullet AH è posto a 11H
bulletAL è posto a 03H e indica la SottoFunzione
bulletBL indica al Generatore di Caratteri Hardware il numero della Tabella RAM da cui assumere il FONT; l'informazione passata nei suoi bit dipende dal tipo di adattatore in uso ed è piuttosto particolare:

Con EGA/MCGA            

bit 7 6 5 4 3 2 1 0
bit7÷bit4  non utilizzati x x x x        
bit3÷bit2 Tabella RAM selezionata con [bit3]attributo=1         A A    
bit1÷bit0 Tabella RAM selezionata con [bit3]attributo=0             B B

Con VGA            

bit 7 6 5 4 3 2 1 0
bit7÷bit6  non utilizzati x x            
bit5, bit3, bit2 Tabella RAM selezionata con [bit3]attributo=1     A   A A    
bit4,bit1, bit0 Tabella RAM selezionata con [bit3]attributo=0       B     B B

 

bulletIn uscita lascia:
bulletnulla

 

bulletLa SottoFunzione si chiama in questo modo:

               

  

bulletPer comprendere a fondo il particolare compito di questa SottoFunzione è molto saggio leggere le premesse relative alla creazione dei caratteri da parte del Generatore Hardware, descritta con ogni dettaglio in questa pagina.

  

bulletNella descrizione delle singole altre SottoFunzioni della Funzione 11H dell'INT 10H abbiamo già sottolineato che, per cambiare il Set dei caratteri visualizzabili sullo schermo, non basta caricare i Font desiderati nelle possibili Tabelle RAM del terzo piano di bit, a beneficio del Generatore di Caratteri Hardware: è necessario anche suggerire a quest’ultimo in quale di queste attingere le informazioni necessarie a ricostruirli.

  

bulletLe fasi di installazione sono dunque 2:
bulleti Set dei caratteri desiderati si predispongono nelle Tabelle RAM con le SottoFunzioni 00H/10H, 01H/11H, 02H/12H e 04H/14H
bulletsubito dopo la SottoFunzione 03H ne rende attivo uno, indicando al Generatore la Tabella giusta..
bulletIl numero della Tabella RAM che si desidera attivare per visualizzare i caratteri è fornito in ingresso in BL; ricordiamo che il Generatore di Caratteri della VGA è in grado di disporre 8 Tabelle nella sua RAM interna, mentre quello della EGA ne può ospitare solo 4.

  

bulletPredisponendo opportunamente il contenuto di BL è possibile disporre di 2 Set di Caratteri contemporaneamente, ma non essendo poi possibile attivarli simultaneamente entrambi, il compito di passare da uno all’altro spetterà al valore del  del bit3 del byte d'Attributo di Colore.

  

bulletPer distinguere le 8 Tabelle presenti nella RAM del Generatore di Caratteri della VGA bastano 3 bit, e le 2 terne di bit (destinate ad individuare 2 distinte Tabelle RAM) andranno ad occupare i 6 bit meno significativi di BL.
bulletPer esempio, per predisporre i 2 Set corrispondenti alla seconda (001, attivato con bit3=1) e terza (010, attivato con bit3=0) Tabella nella RAM del Generatore VGA il registro BL sarà caricato con 06H:

  

bit

BL=06H
7 6 5 4 3 2 1 0   7 6 5 3 2 4 1 0
0 0 0 0 0 1 1 0   = 0 0 [bit3]attributo=1
001
[bit3]attributo=0
010

  

bulletE' curioso notare che le 2 terne 001 e 010 non sono inserite nel registro nella presunta sequenza di bit contigui; ciò dipende dal fatto che, in realtà, il byte predisposto in BL verrà copiato (EGA/VGA) nel Registro di Selezione della Mappa dei Caratteri (03H) del Sequencer, 03C4H) che memorizza le informazioni binarie in arrivo con la strana formattazione illustrata qui sopra.

  

bulletAnalogamente, per distinguere le 4 Tabelle presenti nella RAM del Generatore di Caratteri della EGA bastano 2 bit, e le 2 coppie di bit (destinate ad individuare 2 distinte Tabelle RAM) andranno ad occupare i 4 bit meno significativi di BL.
bulletPer esempio, per predisporre i 2 Set corrispondenti alla seconda (01, attivato con bit3=1) e terza (10, attivato con bit3=0) Tabella nella RAM del Generatore EGA il registro BL sarà ancora caricato con 06H:

  

bit

BL=06H
7 6 5 4 3 2 1 0   7 6 5 4 3 2 1 0
0 0 0 0 0 1 1 0   = 0 0 0 0 [bit3]attributo=1
01
[bit3]attributo=0
10

  

bulletMa ora l'incongruenza, segnalata in precedenza per la VGA, non è più presente.

     

bulletNaturalmente se su usa un solo Set a 256 caratteri il bit3 dell'Attributo del Carattere mantiene il suo consueto significato (cioè quello di controllare l'intensità di Primo Piano) e entrambi i campi di BL dovranno selezionare la stessa Tabella.

  

bulletSe si desiderano 2 Set diversi sulla stessa Pagina Video (cioè se i 2 campi di BL sono diversi, indicando 2 diverse Tabelle RAM) non bisogna dimenticare che il bit3 del byte d'Attributo di Colore  mentre è occupato a selezionare una delle 2 Tabelle (la metà superiore o inferiore del Set Esteso di 512 caratteri) conserva comunque la capacità di rendere brillanti i colori dei caratteri.
bulletIn altre parole i testi a video saranno visibili, alternativamente, con 2 Font diversi, a seconda del valore del bit3 dell'Attributo di Colore dei rispettivi Caratteri, ma:
bulletquelli della prima Tabella (bit3=0) saranno visualizzati in modo normale (cioè avranno uno dei colori presente nei primi 8 Registri di Tavolozza del Controller d'attributo, 03C0H
bulletquelli della seconda Tabella (bit3=1) saranno visualizzati in modo evidenziato, brillante (cioè avranno uno dei colori presente nei secondi 8 Registri di Tavolozza del Controller d'attributo, 03C0H
bulletLa qual cosa potrebbe essere anche piacevole....

  

bulletLa conclusione è ovvia: se si desidera che i Caratteri di entrambi i SET abbiano la stessa consistenza cromatica è necessario copiare i valori dei primi 8 Registri di Tavolozza nei secondi 8, con l'aiuto delle SottoFunzioni 00H e 02H della Funzione 10H di INT 10H
bulletUn modo più sbrigativo prevede di intervenire direttamente sul Registro che controlla l'azione dei bit d'attributo, disabilitando l'efficacia del suo bit3, cioè sul Registro di Abilitazione del Piano Colore (12H) del Controller di Attributo, 03C0H
bulletLa maschera necessaria per i bit di Primo Piano (bit3÷bit0) è in questo caso 0111 (=07H) ed è questo il valore con cui caricare il Registro:
bulletla cosa può essere fatta a basso livello ..
bullet...oppure ancora con la SottoFunzione 00H della Funzione 10H di INT 10H che, come è noto, è in grado di scrivere anche in questo registro.

  

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

    

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