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 Zahl zuweist.
So funktioniert ASCII:
| 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' (Nullzeichen) | 0 | 0x00 |
Wichtige ASCII-Werte, die du für Assembly auswendig lernen solltest:
| Zeichen | Hex | Wofür du sie brauchst |
|---|---|---|
| 'A' | 0x41 | Großbuchstaben beginnen hier |
| 'a' | 0x61 | Kleinbuchstaben beginnen hier |
| '0' | 0x30 | Ziffern beginnen hier |
| Leerzeichen | 0x20 | Zum Trennen von Wörtern |
Neue Zeile (\n) | 0x0A | Zur nächsten Zeile wechseln |
Null (\0) | 0x00 | Markierung für das Ende einer Zeichenkette |
Beachte das Muster:
| Muster | Beispiel |
|---|---|
| Großbuchstaben A-Z sind aufeinanderfolgend | 'A'=65, 'B'=66, 'C'=67... |
| Kleinbuchstaben a-z sind aufeinanderfolgend | 'a'=97, 'b'=98, 'c'=99... |
| Ziffern 0-9 sind aufeinanderfolgend | '0'=48, '1'=49, '2'=50... |
| Kleinbuchstaben = Großbuchstaben + 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 schreibst du dies als: db 'Hi', 0x0A
Warum du das für Assembly brauchst:
Wenn du eine Zeichenkette in data.asm definierst, speicherst du ASCII-Codes im Speicher. Wenn du eine Zeichenkette ausgibst, 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Übe selbstständig: Assembly-Playground