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° A032 5/6 [155 di 157] 

               

Analisi del Main Program · Analisi Desktop e Menu · Acquisizione Operandi · Gestione Servizi Interni

Aritmetica con Numeri Binari - Organizza le 4 Operazioni Aritmetiche tra numeri a 2 cifre
Analisi del Codice - Procedura In_dato [4 di 5]

               

           Aggiornato 12 febbraio 2007 - [nel sorgente Es032.ASM sostituito JG In_d0 con JA In_d0; ricompilare l'esercizio]
bulletLa Procedura In_dato è l'evoluzione di quella utilizzata nei 4 progetti precedenti; la sua prima parte, descritta qui e visibile nella seguente casella di testo, è identica:

  

Console - Video & Tastiera

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

  

bulletIn breve aspetta (CALL KEYwait) la pressione e ne filtra il valore, ammettendo solo:
bullettasti numerici, nel qual caso salva il valore del rispettivo codice ascii (MOV CS:[SI],AL), lo mette a video (CALL BIOchr1) e torna in attesa di pressione di altri tasti
bulletil tasto Invio, la pressione del quale pone fine all'acquisizione, con l'immissione del byte 00H (terminatore) nella stringa

  

bulletLa seconda parte della In_dato non è presente nella versione utilizzata nei 4 progetti precedenti:

  

  

bulletOsservando il riquadro precedente si può dedurre la sequenza dei suoi compiti:
bullet converte la stringa contenuta nella variabile puntata da SI (Depo1 o Depo2, costituita da 2 caratteri ascii numerici e terminata con 00H) nel corrispondente valore binario a 8 bit, lasciato in uscita in AL
bulletverifica il valore appena ottenuto
bulletin caso di operando fuori range AL è lasciato a FFH e la acquisizione viene ripetuta; per prima cosa cancella il dato assunto in precedenza e poi rientra in attesa tasti numerici
bullet in caso di operando correttamente nel range il suo byte è copiato nella variabile puntata da DI (Dato1 o Dato2) e, se non è nullo, il suo valore decimale viene stampato (M_BytDec AL,0EH) sulla colonna 45 della riga corrente (M_CURSOR DH,45), seguito da uno spazio (M_Chr_ ' ',0EH)
bulletse il byte acquisito è nullo predispone la variabile [No_DIV] a 00H, per sottolineare che la  divisione non si può fare

  

bullet

Ti ricordo che le 2 Macro M_Chr_, M_ByDec usate in precedenza non sono disponibili in libreria, essendo state progettare appositamente per il collaudo delle operazioni aritmetiche; se vuoi conoscerne i dettagli consulta questa pagina.

    

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