PAGE 66,132 TITLE** PROGRAMMA di GESTIONE di programmi ASSEMBLER tipo COM (aprile 2009) SUBTTL** Es0001.ASM - Esercizi PALESTRA ASSEMBLY ESPERTI - by ing. G.OBER ;/---------------------------------------------------------------------------\ ;| NOME : Es0001.ASM | ;| AUTORE : Giorgio OBER | ;| VERSIONE : aprile 2009 | ;| DESCRIZIONE : Esercizio nø 0001 | ;| Stampa una stringa sul video | ;\---------------------------------------------------------------------------/ ; COSTANTI DEFINITE PER IL PROGRAMMA: ; nessuna costante Š prevista per questo esercizio ; 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 BIObeep:NEAR EXTRN BIOSmsg:NEAR ; DICHIARAZIONI (VARIABILI) PER I PROGRAMMI ESTERNI: PUBLIC ATTRIB ;Attributo di colore ; DICHIARAZIONI (PROCEDURE) PER I PROGRAMMI ESTERNI: PUBLIC Es0001 ;DEFINIZIONE DEL SEGMENTO DEL CODICE ;----------------------------------------------------------------------------- _prog SEGMENT BYTE PUBLIC 'CODE' ASSUME CS:_prog,DS:_prog ORG 0100H INIZIO: JMP Es0001 ;AREA DESTINATA AI DATI DEL PROGRAMMA ;----------------------------------------------------------------------------- ATTRIB DB 00H Frase01 DB " Sto scrivendo sulla riga 10, colonna20 ",00H ;***************************************************************************** ; ---------------------------------------------- Es0001 proc NEAR ; AREA DEDICATA AL MAIN PROGRAM ; ---------------------------------------------- ;----------------------------------------------------------------------------- CALL BIOScls ;Provvede comunque alla cancellazione del video, ;posizionando il cursore alla riga 0, colonna 0 CALL VIA_cur ;Rende il cursore invisibile M_msgC Frase01,10,20,1FH;Stampa il testo desiderato CALL KEYwait ;Aspetta la pressione di un tasto qualunque ; Torna al DOS con la memoria liberata e con la ; chiusura di tutti i file; cede il controllo MOV AH,4CH ; al processo padre (generalmente COMMAND.COM); INT 21H ; il valore posto eventualmente in AL prima di ; uscire pu• essere testato in uscita con la ; funzione 4DH o mediante la lettura della ; variabile DOS "ERRORLEVEL" Es0001 ENDP ; Chiusura della Procedura "Main Program" _prog ENDS ; Chiusura del Segmento di CODICE END INIZIO ; Indirizzo dell'ultima istruzione da compilare ;/---------------------------------------------------------------------------\ ;| **** NB **** Questo Esercizio Š la copia esatta del primo esercizio | ;| proposto nella PALESTRA ASSEMBLY per PRINCIPIANTI, con il | ;| nome: EsE001.ASM (Stampa una stringa sul video) | ;\---------------------------------------------------------------------------/