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° A023 4/5 [117 di 157] 

               

Analisi del Codice · Progetto procedura Dec2Asc · Dettaglio sulle fasi del Main Program · Conclusioni

Gestione Numeri Binari - Conversione da stringa Ascii decimale a byte - Progetto di Dec2Byt
                                        Aspetta pressione di 2 tasti Numerici e ne calcola il valore binario a 8 bit
Dettaglio sulle fasi del Main Program

               

           Aggiornato 12 febbraio 2007 - [nel sorgente Es023.ASM sostituito JG xxx00 con JA xxx00; ricompilare l'esercizio]
bulletLa struttura del Main Program di EsA023.ASM è piuttosto semplice; data per spiegata la fase iniziale (Desktop) e finale (rientro al DOS) vediamo di sottolineare le singole fasi.

  

bulletLa prima fase  si occupa della lettura del dato numerico della Tastiera; le operazioni necessarie in questo caso sono:
bulletla predisposizione di una zona di memoria DEPO in cui memorizzare la sequenza di caratteri assunti: il registro SI è incaricato (LEA SI,DEPO) di puntare il valore della locazione corrente, predisposta nella zona variabili per questo scopo
bulletl'attesa della pressione di un tasto qualunque (CALL KEYwait) e la successiva verifica di ammissibilità:
bulletse il tasto premuto è Invio si pone fine all'acquisizione
bulletse il tasto premuto non è numerico (cioè se più grande dell'ultimo numero, '9'=39H (CMP AL,'9', JA xxx00, Above) o più piccolo del primo numero, '0'=30H (CMP AL,'0', JB xxx00, Below) non ci interessa: semplicemente lo si ignora, senza segnalazione d'errore, ritornando in attesa
bulletsolo se si tratta di un tasto numerico il suo codice ascii viene salvato nel deposito (MOV CS:[SI],AL) e poi posto a video  (CALL BIOchr1), prima di tornare in attesa di pressione tasti
bulletquando la fase di acquisizione ha termine (per pressione del tasto Invio) si provvede comunque a sostituire il suo carattere ascii (=0DH) con 00H, per assicurare il terminatore alla stringa acquisita; con questo artificio sarà possibile stamparne il contenuto direttamente con la Macro M_msgC.

  

Console - Video & Tastiera

Esercizio IMPEGNATIVO 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

  

bulletLa seconda fase ricarica il puntatore all'area di memoria in cui sono stati salvati, uno dopo l'altro, i caratteri appena acquisiti dalla tastiera e provvede alla loro conversione in numero binario a 8 bit:

  

  

bullet

La terza fase si occupa di presentare i risultati; i vari messaggi sono intercalati ad arte con i dati acquisiti (M_msgN DEPO) e rielaborati (CALL Byt2Asc):

  

    

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