| La casella di testo mostra in
dettaglio il
programma principale (Main
Program):
| l'interfaccia
grafica è, anche in questo caso, essenziale:
pulisce lo schermo (CALL
BIOScls) e fornirnisce il messaggio di presentazione (M_msgC
TESTO1,0,0,1FH),
con l'intercessione della Procedura
BIOScls
e della Macro
M_msgC, entrambe appartenenti alle
mie 2
librerie,
Giobe.MAC
e
Giobe.LIB, disponibile in forma sorgente
in
Giobe.ASM. |
| punta poi la porta d'uscita dei dati, cioè indirizza il
Registro d'uscita 0378H/0278H (MOV
DX,0378H) |
| punta poi con SI (LEA
SI,Tab) la Tabella dei valori
in grado di accendere i led; la sequenza dei 6 codici è sufficiente per
garantire l'effetto supercar:
|
| poichè i led
sono accesi con
1 e spenti con
0, ogni valore esadecimale della tabella,
tradotto in binario, evidenzia che i led accesi sono sempre solo 2; per
esempio:
| con 81H, uguale a
10000001, si accendono i led esterni |
| con 18H, uguale a
00011000, si accendono i led centrali |
|
| Il valore corrente della tabella viene spostato in
AL con l'istruzione
MOV AL,CS:[SI]
e spedito sulla porta d'uscita con l'istruzione
OUT DX,AL. |
| dopo la trasmissione del dato corrente si provvede
all'esecuzione di un ritardo di circa
un quarto di secondo, con l'aiuto
della Procedura
Delay,
disponibile come le altre nella libreria
Giobe.LIB/Giobe.ASM. |
| al termine delle 6 out consecutive il ciclo viene
ripetuto automaticamente (JMP
xxx00) ma prima, per garantire
la possibilità di porre fine al programma,
provvede ad
interrogare la tastiera senza fermarsi,
in virtù della magica Funzione
01H dell'INT 16H;
solo se si preme un tasto qualunque l'effetto
supercar ha termine |
| le ultime istruzioni (MOV
AH,4CH,INT
21H)
chiudono il codice sorgente restituendo il controllo al sistema operativo
che ci ospita. |
|