 | La casella di testo mostra in dettaglio il
programma principale (Main Program):
 | in primis provvede al solito
alla stampa su video dell'interfaccia
grafica (CALL
DeskTop) |
 | poi inizializza il puntatore SI
(LEA SI,TESTO)
al testo da trasferire sulla carta |
 | quindi si accinge ad eseguire il compito eseguendo il loop
Prnt00; in
questo ambito:
 | controlla (CALL Chk_Busy ) se la stampante è
disponibile a ricevere
dati dal computer e se l'utente
ha premuto un tasto |
 | questa seconda opportunità è di
fondamentale importanza poichè può succedere che la stampante
non sia in linea (per diverse
cause..), bloccando al tempo stesso ogni possibilità d'uscita |
 | se l'utente ha premuto un tasto e se il tasto premuto è
"Q", permette di porre definitivamente
termine al programma |
 | in assenza di pressioni di tasti
assume dalla stringa
il carattere corrente (MOV
AL,CS:[SI]) e controlla se si tratta del
terminatore: in questo caso segnala la fine del lavoro e, dopo la
pressione del tasto "Q", termina il programma |
 | naturalmente se il carattere non è il terminatore
provvede alla sua stampa su carta (CALL
Out_Chr ) ponendolo sul
Registro dati della
parallela e creando da software il breve impulso di sincronismo per la stampante |
|
 | le ultime istruzioni (MOV
AH,4CH,INT
21H)
chiudono il codice sorgente restituendo il controllo al sistema operativo
che ci ospita. |
|