Assembly/Rappresentazione dati/Il set di caratteri ASCII: differenze tra le versioni
mNessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 14: | Riga 14: | ||
==Le lettere minuscole== |
==Le lettere minuscole== |
||
L'ultimo gruppo è formato dalle lettere minuscole, che occupano i codici da 61h a 7Ah. La 60h è occupata dal carattere `. poi abbiamo { | } ~ per le ultime posizioni. Infine resta il carattere 7F, un altro carattere di controllo, DEL che cancella il carattere appena precedente il cursore, senza però farlo retrocedere |
L'ultimo gruppo è formato dalle lettere minuscole, che occupano i codici da 61h a 7Ah. La 60h è occupata dal carattere `. poi abbiamo { | } ~ per le ultime posizioni. Infine resta il carattere 7F, un altro carattere di controllo, DEL che cancella il carattere appena precedente il cursore, senza però farlo retrocedere |
||
==Transizione maiuscolo/minuscolo== |
|||
Supponiamo di avere la lettera "E" (45h = 01000101b) e vogliamo trasformarlo nel corrispondente minuscolo "e" (65h = 01100101b). Proviamo a comparare i due valori binari corrispondenti: |
|||
0 1 0 0 0 1 0 1 |
|||
0 1 1 0 0 1 0 1 |
|||
Come potete notare, la differenza è solo nel bit 5.<br /> |
|||
Dunque, per trasformare una lettera nel corrispondente minuscolo, basta settare a 1 il bit 5. Viceversa, basta settarlo a 0 per trasformarla in maiuscolo. |
|||
==I bit 5 e 6== |
|||
Da quanto avrete capito il bit 7 resta sempre a 0 nella tabella ASCII standard, poichè il massimo valore è 127 (01111111b). Ma i bit 5 e 6, ci indicano in quale gruppo di caratteri standard ci troviamo. |
|||
Bit 5 Bit 6 Gruppo |
|||
0 0 1° |
|||
1 0 2° |
|||
0 1 3° |
|||
1 1 4° |
|||
==Stampare una cifra== |
|||
Nel secondo gruppo, sono presenti le cifre da 0 a 9, che come abbiamo detto riempiono i caratteri da 30h a 39h. Quindi quando vorremo stampare una cifra, ci basterà sommarvi 30h. |
|||
{{capitolo |
|||
|NomeLibro=Assembly |
|||
|Libro=Assembly |
|||
|CapitoloPrecedente=Campi di bit e Packed Data |
|||
|NomePaginaCapitoloPrecedente=Assembly/Rappresentazione dati/Campi di bit e Packed Data |
|||
|CapitoloSuccessivo=Algebra Booleana |
|||
|NomePaginaCapitoloSuccessivo=Assembly/Algebra Booleana |
|||
}} |
|||
[[Categoria:Linguaggio Assembly|Caratteri ASCII]] |
[[Categoria:Linguaggio Assembly|Caratteri ASCII]] |
Versione delle 21:05, 13 mag 2007
Template:Linguaggio Assembly
Come dovreste già sapere, la tabella ASCII è una tabella a cui sono assegnati a ciascun codice un carattere. Al momento della stampa a video, la scheda video, preleva dalla tabella ASCII il carattere associato al codice che gli è stato mandato.
La tabella ASCII standard (i primi 127 caratteri), è divisa in quattro gruppi da 32 caratteri.
I caratteri di controllo
I caratteri i cui codici vanno da 0h a 1Fh (31d), vengono definiti caratteri di controllo. Questi non possono essere stampati, e vengono definiti così perchè al momento della stampa, eseguono delle operazioni. Ad esempio abbiamo il CR (Carriage Return - codice 0Dh), che sposta il cursore hardware (il piccolo trattino lampeggiante dei terminali "_"), oppure LF (Line Feed - 0Ah), che mantiene la posizione del cursore nella riga, ma la sposta di una riga sotto, BEL (7h), che emette un bip dal computer, o ancora BS (BackSpace - 8h), che sposta il cursore a sinistra nella riga di un posto.
I simboli
Nel secondo gruppo di caratteri (da 20h a 3Fh), abbiamo caratteri simboli. Comprendono lo spazio (20h), le cifre decimali (da 30h a 39h), i simboli : ; < = > ?, che corrispondono rispettivamente ai codici da 3Ah a 3Fh, poi ancora ! " # $ % & ' ( ) * + , - . /, che riempiono i codici da 21h a 2Fh.
Le lettere maiuscole
Il terzo gruppo è riempito dalle lettere maiuscole inglesi che vanno da 41h a 5Ah, poi abbiamo @ alla posizione 40h e ancora [ \ ] ^ _ da 5Bh a 5Fh.
Le lettere minuscole
L'ultimo gruppo è formato dalle lettere minuscole, che occupano i codici da 61h a 7Ah. La 60h è occupata dal carattere `. poi abbiamo { | } ~ per le ultime posizioni. Infine resta il carattere 7F, un altro carattere di controllo, DEL che cancella il carattere appena precedente il cursore, senza però farlo retrocedere
Transizione maiuscolo/minuscolo
Supponiamo di avere la lettera "E" (45h = 01000101b) e vogliamo trasformarlo nel corrispondente minuscolo "e" (65h = 01100101b). Proviamo a comparare i due valori binari corrispondenti:
0 1 0 0 0 1 0 1 0 1 1 0 0 1 0 1
Come potete notare, la differenza è solo nel bit 5.
Dunque, per trasformare una lettera nel corrispondente minuscolo, basta settare a 1 il bit 5. Viceversa, basta settarlo a 0 per trasformarla in maiuscolo.
I bit 5 e 6
Da quanto avrete capito il bit 7 resta sempre a 0 nella tabella ASCII standard, poichè il massimo valore è 127 (01111111b). Ma i bit 5 e 6, ci indicano in quale gruppo di caratteri standard ci troviamo.
Bit 5 Bit 6 Gruppo 0 0 1° 1 0 2° 0 1 3° 1 1 4°
Stampare una cifra
Nel secondo gruppo, sono presenti le cifre da 0 a 9, che come abbiamo detto riempiono i caratteri da 30h a 39h. Quindi quando vorremo stampare una cifra, ci basterà sommarvi 30h.
Modulo precedente | Torna a | Modulo successivo |