ASCII & Hex
Teil des Abschnitts Grundlagen der Assembly-Journey von Coddy — Lektion 13 von 45.
Computer verstehen nur Zahlen. Wie speichern sie also Buchstaben wie 'A', 'b' oder '?'?
Die Antwort lautet ASCII (American Standard Code for Information Interchange). ASCII ist eine Tabelle, die jedem Zeichen eine Nummer zuweist.
Wie ASCII funktioniert:
| Zeichen | ASCII-Nummer (dezimal) | ASCII-Nummer (hex) |
|---|---|---|
| 'A' | 65 | 0x41 |
| 'B' | 66 | 0x42 |
| 'C' | 67 | 0x43 |
| 'a' | 97 | 0x61 |
| 'b' | 98 | 0x62 |
| '0' | 48 | 0x30 |
| '1' | 49 | 0x31 |
| ' ' (Leerzeichen) | 32 | 0x20 |
| '\n' (Zeilenumbruch) | 10 | 0x0A |
| '\0' (Null-Zeichen) | 0 | 0x00 |
Wichtige ASCII-Werte, die man sich für Assembly merken sollte:
| Zeichen | Hex | Warum man es braucht |
|---|---|---|
| 'A' | 0x41 | Großbuchstaben beginnen hier |
| 'a' | 0x61 | Kleinbuchstaben beginnen hier |
| '0' | 0x30 | Ziffern beginnen hier |
| Leerzeichen | 0x20 | Wörter trennen |
Zeilenumbruch (\n) | 0x0A | In die nächste Zeile springen |
Null (\0) | 0x00 | String-Ende-Markierung |
Beachten Sie das Muster:
| Muster | Beispiel |
|---|---|
| Großbuchstaben A-Z folgen aufeinander | 'A'=65, 'B'=66, 'C'=67... |
| Kleinbuchstaben a-z folgen aufeinander | 'a'=97, 'b'=98, 'c'=99... |
| Ziffern 0-9 folgen aufeinander | '0'=48, '1'=49, '2'=50... |
| Kleinbuchstabe = Großbuchstabe + 32 | 'a' (97) = 'A' (65) + 32 |
Wie ein String im Speicher gespeichert wird:
Das Wort „Hi“ mit einem Zeilenumbruch wird wie folgt gespeichert:
| Zeichen | Hex | Binär |
|---|---|---|
| 'H' | 0x48 | 01001000 |
| 'i' | 0x69 | 01101001 |
| '\n' | 0x0A | 00001010 |
In Assembly schreibt man dies so: db 'Hi', 0x0A
Warum Sie dies für Assembly benötigen:
Wenn Sie einen String in data.asm definieren, speichern Sie ASCII-Codes im Speicher. Wenn Sie einen String ausgeben, liest das Betriebssystem diese ASCII-Codes und zeigt die entsprechenden Zeichen an.
Probier es selbst
Diese Lektion enthält keine Programmieraufgabe.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
1Die Maschine
Was ist eine CPUSpeicherRegister vs. SpeicherWie Befehle funktionierenZwei-Dateien-MusterDie x86-64 Architektur2Zahlensysteme
Warum Binär?BinärzahlenDezimal zu BinärWarum Hexadezimal?Hex zu DezimalDezimal zu HexASCII & Hex