 | La casella di testo mostra in
dettaglio il
programma principale (Main
Program):
 | l'interfaccia
grafica è ancora assicurata dalla procedura Desktop (CALL
BIOScls): sul monitor appare la
struttura
del
connettore EPP e lo
stato attuale del registro d'ingresso coinvolto nel test |
 | se la porta parallela è impostata come
EPP (Enhanced
Parallel Port) è possibile effettuare l'input
INDIRIZZI di 8 bit dal registro 037BH;
può essere necessario (e questo programma lo fa...) impostare a
1 il bit5
del registro 037AH; impostando a
0 il bit5 del registro
037BH il registro
037BH ritorna a funzionare come porta
di output |
 | il programma si infila poi nel
main loop, nel quale rimane in
perenne lettura dello stato logico dei pin autorizzati; in
particolare:
 | legge il dato dalla
porta d'ingresso, cioè indirizza il
Registro bidirezionale Indirizzi 037BH/027BH
(MOV
DX,PRNdato/IN
AL,DX) |
 | mostra una piacevole simulazione
degli eventi (CALL
Colora), con l'aiuto di una
procedura locale: oltre porre a video la stringa ascii
numerica esadecimale e l'aspetto dei
singoli bit corrispondenti al
byte letto dal registro, mostra
un'animazione del contatto effettuato. |
 | data la velocità della porta introduce un
breve ritardo opzionale, per rendere
più stabile la visualizzazione degli eventi |
 | provvede ad
interrogare la tastiera senza fermarsi,
in virtù della Funzione
01H dell'INT 16H;
solo se si preme un tasto qualunque la
lettura asincrona dei pin del connettore ha termine
e il programma viene chiuso, restituendo il controllo al sistema operativo
che ci ospita |
|
|