Sezione |
Indirizzi Base
Registri Interni
|
Palestra Livello Apprendisti Livello Esperti |
Programmare in Assembly |
Esercizio n° A021 3/4 [108 di 157] |
|
|
||
Gestione Numeri Binari -
Conversione da byte a Ascii DECIMALI - Progetto di Byt2Dec Mostra valore binario a 8 bit e decimale dei primi 160 numeri, in sequenza |
||
Progetto della Procedura Byt2Dec |
|
La chiave di questo progetto è la Conversione di un byte nei caratteri Ascii decimali (fino a 3) corrispondenti, raccolta in una Procedura interna, da inserire nella zona ad essa riservata nel nostro EsA021.ASM, dopo la definizione delle variabili e dei testi del programma. |
|
Innanzi tutto va tenuto presente che il byte da visualizzare deve essere disponibile, in ingresso, nel registro AL; esso può assumere uno dei 256 valori da 00H a FFH, e va trasformato in una stringa contenente l'espressione ascii di un numero da 0 a 255. |
|
Risulta subito evidente che la lunghezza della stringa è potenzialmente diversa in funzione del valore binario che è chiamata a convertire: possono essere necessari 1 (da 00H a 09H), 2 (da 0AH a 63H) o 3 (da 64H a FFH) caratteri ascii numerici. |
|
Per rendere omologa la lunghezza della stringa sarebbe necessario stampare anche gli '0' non significativi, con espressioni del tipo '002' o 023', oppure sostituirli con spazi, con espressioni del tipo ' 2' o ' 23'. |
|
In entrambi i casi l'estetica subisce un grave colpo, per cui ho preferito evitare la stampa degli '0' non significativi. |
|
Con questa premessa vediamo la tecnica utilizzata per ottenere la rappresentazione decimale di un numero binario a 8 bit: |
|
|
Esercizio |
NB: se il testo nell'Area
ti
sembra strano installa il font Giobe.TTF: clicca qui!! |
|
In pratica è divisa in 3 fasi consecutive, legate alla
ricerca delle potenziali centinaia,
decine e unità
del numero fornito in ingresso in
AL:
|
|
Naturalmente la procedura di conversione è in grado di accorgersi se il valore presente in AL è minore di 100 o di 10, applicando solo la parte di codice strettamente necessaria. |
|
La stampa dei caratteri generati dalla conversione è gestita dalla Procedura interna STAasci (a sua volta sostenuta dalla Procedura BIOchr1) che provvede a porli a video con il colore precedentemente predisposto in CS:[ATTRIB], nella posizione di stampa corrente, lasciata sempre aggiornata per il carattere successivo. |
|
Palestra Apprendisti | Esercizio n° A021 3/4 | |||||||
108 di 157 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|