![bullet](../../../../_themes/-mio-newbeige/bluon.gif) | La casella di testo mostra in dettaglio
il codice assembly del Main Program:
![bullet](../../../../_themes/-mio-newbeige/giallo.gif) | data la scelta di non mostrare alcuna interfaccia
grafica le prime istruzioni (MOV AH,00H,
MOV AL,03H
e INT 10H)
si limitano a
pulire lo schermo |
![bullet](../../../../_themes/-mio-newbeige/giallo.gif) | inizializza la stampante
con l'aiuto della
Funzione 01H
di
INT 17H,
che provvede a spedirle 2 bytes di controllo, 08H
e 0CH;
in effetti i bytes spediti influenzano il contenuto del
Registro
di Controllo (037AH/LPT1,
027AH/LPT2), la
cui conoscenza
evidenzia che:
![bullet](../../../../_themes/-mio-newbeige/verde.gif) | il byte
08H
(=00001000) mette la
stampante in condizioni di On-Line
(bit3=1)
e contemporaneamente la obbliga a
reinizializzarsi (bit2=0),
cioè imposta lunghezza pagina, margini, tabulazioni, ecc.
ai valori di default |
![bullet](../../../../_themes/-mio-newbeige/verde.gif) | il byte 0CH
(=00001100)
lascia la
stampante On-Line (bit3=1) e contemporaneamente ne abilita il normale funzionamento (bit2=1) |
|
![bullet](../../../../_themes/-mio-newbeige/giallo.gif) | inizializza il puntatore SI
(LEA SI,TESTO)
al testo da trasferire sulla carta |
![bullet](../../../../_themes/-mio-newbeige/giallo.gif) | si accinge ad eseguire il compito eseguendo il loop
xxx01; in
questo ambito:
![bullet](../../../../_themes/-mio-newbeige/verde.gif) | predispone la prossima chiamata di
Funzione BIOS
indicando, con DX=0000H, che la
porta parallela a cui si ritiene attaccata la stampante è la
LPT1 |
![bullet](../../../../_themes/-mio-newbeige/verde.gif) | controlla (CALL Chk_Busy ) se la stampante è
disponibile a ricevere
dati dal computer e se l'utente
ha premuto un tasto |
![bullet](../../../../_themes/-mio-newbeige/verde.gif) |
assume dalla stringa
il carattere corrente (MOV
AL,CS:[SI]) e controlla se si tratta del
terminatore: in questo caso pone fine al lavoro |
![bullet](../../../../_themes/-mio-newbeige/verde.gif) | naturalmente se il carattere non è il terminatore
provvede alla sua stampa su carta con l'aiuto della
Funzione
00H
di
INT 17H,
che provvede a
trasmettere il carattere
verso una stampante, generando i sincronismi necessari |
|
![bullet](../../../../_themes/-mio-newbeige/giallo.gif) | le ultime istruzioni (MOV
AH,4CH,INT
21H)
chiudono il codice sorgente restituendo il controllo al sistema operativo
che ci ospita |
|