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° A001 4/9 [8 di 157] 

               

Analisi del Codice · Compilazione (UnaTantum) · Analisi in ambiente Debug · Analisi del Listato · Conclusioni

Gestione Caratteri - Stampa di un solo carattere
Analisi del Codice [3 di 3] - Main Program

               

bullet Chiameremo Main Program (programma principale) il tratto di codice assembly che raccoglie le istruzioni in grado di organizzare il lavoro richiesto dalle specifiche del problema da risolvere, cioè quello compreso tra EsA001 proc NEAR e EsA001 ENDP.

  

bulletAnalizziamo dunque la parte originale di questo primo esercizio:

  

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 Le prime 3 istruzioni del Main Program servono per imporre la completa pulizia (ClearScreen) dello schermo; non è pensabile un programma che non cominci con queste 3 istruzioni (o con altre in grado di fare la stessa cosa). In sostanza inizializzano ed eseguono una chiamata di sistema:
bullet descrivono la tecnica necessaria per attivare (in generale) le procedure offerte dal BIOS, descritte nella Grande Libreria
bullet in particolare attiva la Funzione 00H di INT 10H che cambia il Modo Video corrente in quello desiderato, scelto tra quelli supportati dalla propria scheda video; l'istruzione MOV AH,00H sceglie la Funzione 00H, l'istruzione MOV AL,03H sceglie il Modo Video desiderato (03H = modo testo 80*25) e INT 10H mette in esecuzione il servizio richiesto (clicca su INT solo se vuoi saperne di più)
bullet va detto che questa chiamata assicura il ClearScreen dello schermo solo come effetto collaterale, ma al lato pratico la cosa è irrilevante.

  

bullet Le 3 istruzioni centrali descrivono una seconda chiamata di sistema: in questo caso viene attivata la Funzione 0EH di INT 10H che scrive un carattere nella posizione di stampa e nella pagina video corrente e aggiorna la posizione del cursore; per portare a termine il suo compito bisogna dichiarare (con MOV AH,0EH ) il numero 0EH della Funzione desiderata e specificare (con MOV AL,'A') il carattere che si desidera mettere a video, operazione assicurata dalla successiva chiamata INT 10H .

  

bullet Avrai certamente notato che entrambe le chiamate di sistema si sono appoggiate a INT 10H: si tratta della raccolta di procedure che si occupano del Sottosistema Video.

  

bullet Il compito che ci siamo prefissi è assolto! Ma è bene imparare fin d'ora che un eseguibile non può finire così.

  

bulletLe successive 2 istruzioni (MOV AH,00H e INT 16H) sono caldamente consigliate, per assicurare la possibilità di godere del nostro lavoro; per disporre di questa opportunità ogni eseguibile che si rispetta si fermerà in attesa della pressione di un tasto qualunque. Di questo si occupa la Funzione 00H di INT 16H (per ora non ancora documentata..).

  

bulletLe ultime 2 istruzioni (MOV AH,4CH e INT 21H) sono 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 (per ora non ancora documentata..)

  

bulletNon ti rimane che tentare la compilazione...

    

Pagina Precedente Palestra Apprendisti Pagina Successiva Esercizio n° A001 4/9   Torna alla Home  della Palestra Assembly Lezioni - Vai al DownLoad dei files DOC Torna al Menu del "Tutorial"
8 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