PAGE 66,132 TITLE** PROGRAMMA di GESTIONE di programmi ASSEMBLER tipo COM (aprile 2003) SUBTTL ** TUTORIAL ASSEMBLY -- www.giobe2000.it -- by ing. Giorgio OBER ;/---------------------------------------------------------------------------\ ;| NOME : TestLpt1.ASM | ;| AUTORE : Giorgio OBER | ;| VERSIONE : aprile 2003 | ;| DESCRIZIONE : Controllo di una PORTA PARALLELA a basso livello: accende | ;| una batteria di 8 led accendendoli con la combinazione dei | ;| bit apparetnenti al codice Ascii del tasto premuto. | ;| /----------\ -------------------------------------------------------------| ;| | | Se si lavora con i Sistemi Operativi Win2000, Win NT o WinXP | ;| | NB !! | bisogna prima installare il Driver Configura_LPT1; scaricalo | ;| | | a: http://www.giobe2000.it/consigli/Scarica_VediLPT_XP.htm | ;| *----------* -------------------------------------------------------------| ;| | | Se si lavora con i Sistemi Operativi Win2000, Win NT o WinXP | ;| | NB !! | la SHELL DOS deve essere a "Pieno Schermo" (l'esecuzione in | ;| | | "finestra DOS" non produce effetto sulla Stampante) | ;| *----------* -------------------------------------------------------------| ;| | | In ogni caso PRIMA DI OGNI SESSIONE DOS Š necessario eseguire| ;| | NB !! | il programma Config_LPT1.EXE in ambiente Windows per attivare| ;| | | la visibilit… dei driver installati con Configura_LPT1 !!!!! | ;| \----------/ -------------------------------------------------------------| ;\---------------------------------------------------------------------------/ ; MACRO UTILIZZATE DAL PROGRAMMA: include c:\arch-lab\bin\GIOBE.MAC ; LIBRERIA UTILIZZATA DAL PROGRAMMA [opzione WinASM altrimenti non necessaria] includelib c:\arch-lab\bin\GIOBE.LIB ;PROCEDURE ESTERNE UTILIZZATE dal PROGRAMMA [NEAR, dalla LIBRERIA ~GIOBE.LIB~] ;----------------------------------------------------------------------------- EXTRN CambiaCol:NEAR EXTRN SET_cur:NEAR EXTRN VIA_cur:NEAR EXTRN RIP_cur:NEAR EXTRN KEYwait:NEAR EXTRN BIOScls:NEAR EXTRN BIOchr1:NEAR EXTRN BIOSmsg:NEAR PUBLIC ATTRIB ;Attributo di colore ;DEFINIZIONE DEL SEGMENTO DEL CODICE ;----------------------------------------------------------------------------- _prog SEGMENT BYTE PUBLIC 'CODE' ASSUME CS:_prog,DS:_prog ORG 0100H INIZIO: JMP TestLPT1 ;AREA DESTINATA AI DATI DEL PROGRAMMA ;----------------------------------------------------------------------------- ATTRIB DB 00H TESTO1 DB " premi un tasto e guarda ...... ",00H ;***************************************************************************** ; ---------------------------------------------- TestLPT1 proc NEAR ; AREA DEDICATA AL MAIN PROGRAM ; ---------------------------------------------- ;----------------------------------------------------------------------------- CALL BIOScls ;Provvede comunque alla cancellazione del video M_msgC TESTO1,0,0,1FH;Messaggio di presentazione MOV AL,55H ;Valore iniziale (acceso un led si e uno no...) xxx00: MOV DX,0378H ; Mette sulla porta d'uscita 0378H della porta OUT DX,AL ; parallela il valore attualmente in AL CALL KEYwait ; Aspetta la pressione di un tasto qualunque e, AND AL,11011111B ; se si tratta della lettera "Q" impone la fine CMP AL,'Q' ; del programma; in caso contrario lascia in AL JZ _OUT ; il codice Ascii del tasto premuto per spedirlo JMP SHORT xxx00 ; alla porta d'uscita 0378H della parallela _OUT: MOV AH,4CH ; Torna al DOS con la memoria liberata e con la INT 21H TestLPT1 ENDP ; Chiusura della Procedura "Main Program" _prog ENDS ; Chiusura del Segmento di CODICE END INIZIO ; Indirizzo dell'ultima istruzione da compilare