gestione di una scheda grafica ega

Transcript

gestione di una scheda grafica ega
μp 8086
La gestione
della
scheda grafica
Prof. R. Prota
Gestione dello schermo


Dipende dalla scheda grafica che
genera i segnali di controllo necessari
per illuminare i pixel dello schermo in
base alle informazioni contenute nella
memoria video o buffer video
La memoria video si trova
fisicamente sulla scheda video, ma
dal punto di vista logico è vista come
della RAM in più.
Prof. R. Prota
Il buffer video



L’indirizzo di partenza del buffer
video di una EGA è B800h
Esso contiene una immagine di ciò
che viene visualizzato
Modificando opportunamente il suo
contenuto possiamo visualizzare sul
monitor ciò che vogliamo utilizzando
la modalità video scelta.
Prof. R. Prota
Modalità video



Dipendono dal tipo di schermo, dalla
scheda grafica e dalla memoria video a
disposizione
Le varie modalità, di testo o grafica,
prevedono risoluzioni e numero di colori
diversi
Qualunque sia la modalità video usata, le
informazioni relative ad una videata
costituiscono una pagina video
Prof. R. Prota
Modalità testo



In modalità testo una pagina video
è vista come una matrice di 25
righe e 160 colonne
In ogni riga è possibile visualizzare
80 caratteri
Per ogni carattere vengono utilizzati
2 byte: uno per il codice ASCII e
uno per gli attributi
Prof. R. Prota
Modalità testo



In una EGA in modalità testo a
colori, si ha quindi una risoluzione
80 x 25 = 2000 caratteri
L’indirizzo di inizio del relativo
buffer video è B800h
Una pagina video occupa quindi
4000 byte.
Prof. R. Prota
Modalità testo
Ogni posizione sullo schermo può
essere individuata dal numero di riga e
di colonna o con un indirizzo da 0 a 1999
 L’ indirizzo si compone calcolando:
80 X il numero di righe + il numero di colonne
 Poiché ogni carattere occupa 2 byte, si
ha:



nella locazione ad indirizzo pari il codice ASCII
in quella ad indirizzo dispari gli attributi.
Prof. R. Prota
Gli attributi
b7
b6
b5
b4
b3
b2
b1
b0
Colore di primo
piano
Colore di
sfondo
Carattere
lampeggiante
Prof. R. Prota
Tavolozza dei colori
per video CGA o EGA
0
1
2
3
4
5
6
7
Nero
Blu
Verde
Azzurro
Rosso
Violetto
Marrone
Bianco
8
9
A
B
C
D
E
F
Prof. R. Prota
Grigio
Blu chiaro
Verde chiaro
Azzurro chiaro
Rosso chiaro
Violetto chiaro
Giallo
Bianco acceso
Un esempio:
la procedura CLRSCR
Mov
Ax, $B800
Mov
Es, Ax
Mov
Si, 0
Offset del buffer video
Mov
Al, $20
20h: Codice ASCII dello spazio
Mov
Cx, 2000
Numero di byte del buffer video
@Rigo: Mov
L'indirizzo della Scheda video è B8000h;
il $ indica l’esadecimale
Es:[Si], Al
Add
Si, 2
Dec
Cx
Jnz
@Rigo
Casella successiva
Ret
Prof. R. Prota