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