Come Funziona Indirizzi Base Area Comunicaz. Bios
Registri Livello Hardware Livello BIOS Livello DOS
Tecniche d'Interruzione Connettori Cavi Interfaccia
Applicazioni Software
Download INDICE

 Stampanti

Vai a Assembler - Applicazioni Software

  Applicazioni Software

PROGRAMMA n° 03 4/4 [46 di 52] 

               

Analisi del Problema · Analisi del Codice · Analisi delle Procedure importanti
Stampanti - Stampa su carta a livello BIOS di stringhe ASCII: Messaggi
Analisi delle procedure importanti

               

bulletIl progetto proposto è particolarmente semplice; non disponendo di alcuna Procedura locale ne analizziamo il programma principale (Main Program):

               

Progetto con le Stampanti Esercizio MOLTO FACILE Progetto
NB: se il testo nell'Area  ti sembra strano
     
installa il  font
Giobe.TTF: clicca qui!!
Mostra l'Effetto Prova l'eseguibile COM Scarica il codice Sorgente ASM

               

bulletLa casella di testo mostra in dettaglio il codice assembly del Main Program:
bulletdata 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
bulletinizializza 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:
bulletil 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
bulletil byte 0CH  (=00001100) lascia la stampante On-Line  (bit3=1) e contemporaneamente ne abilita il normale funzionamento (bit2=1)
bulletinizializza il puntatore SI (LEA SI,TESTO) al testo da trasferire sulla carta
bulletsi accinge ad eseguire il compito eseguendo il loop xxx01; in questo ambito:
bulletpredispone la prossima chiamata di Funzione BIOS indicando, con DX=0000H, che la porta parallela a cui si ritiene attaccata la stampante è la LPT1 
bulletcontrolla (CALL Chk_Busy ) se la stampante è disponibile a ricevere dati dal computer e se l'utente ha premuto un tasto
bullet assume dalla stringa il carattere corrente (MOV AL,CS:[SI]) e controlla se si tratta del terminatore: in questo caso pone fine al lavoro
bulletnaturalmente 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
bulletle ultime istruzioni (MOV AH,4CH,INT 21H) chiudono il codice sorgente restituendo il controllo al sistema operativo che ci ospita

               

bulletRisulta evidente che le 2 Funzioni BIOS rendono banale la stampa su carta; in particolare la Funzione 00H, che si accolla i compiti affidati, nei 2 esercizi precedenti, alle nostre Procedure Chk_Busy (vedi dettaglio, chiamata a sincronizzare la trasmissione dei dati dal processore alla stampante) e  Out_Chr (vedi dettaglio, necessaria per gestire la trasmissione di un carattere dal processore alla stampante).

    

Pagina Precedente Stampanti Pagina Successiva PROGRAMMA n° 03 4/4   Torna alla Home della Sezione Lezioni - Vai al DownLoad dei files DOC Torna al Menu di "Dentro al Computer"
46 di 52
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

    

Stampanti » Come Funziona.. | Indirizzi Base | Area di Comunicazione Bios | Registri | Cavi
Livello Hardware | Livello BIOS | Livello DOS | Tecniche d'Interruzione | Connettori
Applicazioni Software | Interfacciamento | Download | INDICE
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati