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° A017 3/6 [88 di 157] 

               

Analisi del Codice · Progetto procedura Byt2Asc · Analisi di una Matrice di Dati a 8 bit · Conclusioni

Gestione Numeri Binari - Conversione da byte a 2 caratteri Ascii EXAD - Progetto di Byt2Asc
                                        Stampa 256 numeri esadecimali a 8 bit in sequenza ordinata
Progetto della Procedura Byt2Asc [1 di 2]

               

bulletUno dei 2 problemi da risolvere è la visualizzazione di un numero binario; in sostanza è il vero obiettivo di questo esercizio, per cui gli dedicherò un paio di paginette..
bulletVediamo anzi tutto di capire la necessità di questa esigenza e come possiamo procurarci uno strumento in grado di soddisfarla, una volta per tutte:
bulletle informazioni scambiate tra noi e il processore sono numeri binari, cioè sequenze di bit di solito raccolte in gruppi multipli di 8 (bytes, se vuoi saperne di più consulta le due schede Misura dell'Informazione e Numeri e Logica Binaria)
bulletciascun bit rappresenta un livello di tensione alto (1) o basso (0), posto sui bus del processore, o dentro una locazione di memoria, o spedito ad una porta, ...
bulletè sempre conveniente esprimere i numeri binari con il sistema di numerazione esadecimale: la sequenza 011011102 diventa così 6EH, assumendo una forma più leggibile

  

bulletIl problema è, ora, quello di renderli visualizzabili: un byte può assumere 256 valori diversi, da 00H a FFH, ma se cerchiamo di porli a video, per esempio con la Procedura BIOchr1, avremo una brutta sorpresa; per esempio, al posto del numero 41H apparirà il simbolo "A" e la cosa, pur essendo assolutamente corretta, può sembrare strana...

  

Leggi con ATTENZIONE!! Le procedure di stampa usate finora hanno il compito di porre a video caratteri, non numeri; più correttamente, se nella stampa si coinvolge un byte, apparirà (nella posizione di stampa corrente) il carattere ascii che corrisponde al numero binario coinvolto.

  

bulletE' di fondamentale importanza imparare fin d'ora che i numeri  binari non sono direttamente visualizzabili; se desideri mostrare a video il contenuto (un byte) di una locazione di memoria non basta estrarlo e porlo a video...

  

Leggi con ATTENZIONE!! Per mostrare a video un numero binario a 8 bit è necessario convertirlo nella stringa composta da 2 caratteri ASCII, esclusivamente scelti tra quelli che corrispondono ai simboli del sistema di numerazione esadecimale, cioè tutti i numeri da "0" a "9" e le sole lettere da "A" a "F".

  

bulletCosì per mostrare, per esempio, il byte 41H sarà necessario stampare a video, in stretta sequenza, i 2 caratteri ascii "4" e "1".

  

bulletIn altre parole a video finisce (NB) una interpretazione visibile del numero binario, non il numero binario stesso:
bulletper mostrare il valore di un byte ci vogliono 2 bytes: i caratteri ascii corrispondenti ai suoi 2 nibbles
bulletnell'esempio di prima il byte 41H sarà rappresentato dai bytes 34H (il codice ascii di "4") e 31H (il codice ascii di "1")

  

bulletMi perdonerai se ho esagerato nel parlarmi addosso: quello descritto è un concetto che crea disagio.. e spero che ora sia tutto chiaro...

  

bulletNella pagina seguente progetteremo lo strumento in grado di assolvere a questo compito; ne faremo una Procedura, al fine di poterla riutilizzare in tutte le (numerose) occasioni in cui si presenterà questa esigenza, e la chiameremo Byt2Asc, da Byte a (stringa di 2 caratteri) Ascii

    

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