Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Palestra Livello Apprendisti Livello Esperti

Home » Programma il Computer » Tutorial Assembly

Palestra Assembly - Home Page

  Programmare in Assembly

Esercizio n° A011 3/5 [60 di 157] 

               

Analisi del Codice · Dettaglio della Fase Iniziale e Finale (UnaTantum) · Analisi del Main Loop · Conclusioni

Acquisizione Caratteri - Aspetta la pressione di un tasto qualunque e ne fa eco a video
Analisi del Codice - Fase Iniziali e Fase Finale di ogni Main Program (Una Tantum)

               

bulletQuesta pagina commenta una tantum la fase iniziale e finale di ogni prossimo sorgente ASM; nessuno potrà farne a meno.

  

bulletIn un progetto che si rispetti non può mancare la proposta dell'immagine iniziale, con titolo e messaggi di vario tipo (da me chiamata Desktop, piano di lavoro); come detto sarebbe cosa buona e giusta raccogliere tutte le seguenti istruzioni in una procedura interna, magari con lo stesso nome.

  

Console - Video & Tastiera

Esercizio MOLTO FACILE Esercizio
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

  

bullet E' facile notare che il compito della potenziale Procedura Desktop è quello di pulire lo schermo (CALL BIOScls), far sparire il cursore (di norma fastidioso mentre si legge la presentazione, CALL VIA_cur) e scrivere i messaggi (con le chiamate di M_msg etichetta,riga,colonna,colore), nella misura e nella quantità necessaria.

  

bullet La seconda fase (Main Loop) è la vera novità dei sorgenti, a partire da questo; per questo ho deciso di enfatizzarne lo studio in una pagina tutta sua..
bullet Sarà questa parte di programma (e i servizi ad essa associati) che farà la differenza tra un sorgente e l'altro..; ma ne parleremo nella prossima pagina.

  

bullet La fase finale del programma principale è quella di chiusura; sarà sempre la stessa, in tutti i codici assembly:

  

  

bullet Le prime 2 istruzioni sono consigliate ma non necessarie:
bulletsi propone un messaggio di commiato, con la solita tecnica garantita dalla Macro M_msgC
bulletè interessante notare che la procedura KEYwait fermerà l'esecuzione del programma per dare il tempo di leggere il messaggio: la pressione di un tasto qualunque porrà termine all'attesa
bulletLe ultime 8 istruzioni sono decisamente ridondanti rispetto al servizio richiesto, quello di tornare al sistema operativo:
bulletper tornare al DOS (come peraltro abbiamo visto in tutti i precedenti esercizi) bastano le ultime 2 istruzioni, MOV AH,4CH e INT 21H, indispensabili per assicurare la chiusura del programma in esecuzione, compito affidato al sistema operativo MsDOS che ne gestisce l'allocazione in memoria e l'esecuzione; di questo si occupa la Funzione 4CH di INT 21H
bulletle rimanenti sono una mia raffinatezza (o paranoia...): in pratica si riabilita la visualizzazione del cursore (CALL RIP_cur) e lo si posiziona alla riga23, colonna0; in questo modo, al rientro in shell DOS, il prompt viene stampato in fondo a sinistra, nel piano del monitor, senza interferire con l'immagine eventualmente ancora presente a video

    

Pagina Precedente Palestra Apprendisti Pagina Successiva Esercizio n° A011 3/5   Torna alla Home  della Palestra Assembly Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
60 di 157
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157

    

PALESTRA » Apprendisti » Es.001 Es.002 Es.003 Es.004 Es.005 Es.006 Es.007 Es.008 Es.009 Es.010 Es.011 Es.012
Es.013 Es.014 Es.015 Es.016 Es.017 Es.018 Es.019 Es.020 Es.021 Es.022 Es.023 Es.024
Es.025 Es.026 Es.027 Es.028 Es.029 Es.030 Es.031 Es.032 Es.033

| Che serve per iniziare | Prima compilazione | Livello Esperti |

TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | 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