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-Zahl (dezimal) | ASCII-Zahl (hexadezimal) |
|---|---|---|
| '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) | 0 | 0x00 |
Wichtige ASCII-Werte, die du dir für Assembly merken solltest:
| Zeichen | Hex | Warum 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 abgelegt wird:
Das Wort „Hi“ mit einem Zeilenumbruch wird gespeichert als:
| 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 benötigst:
Wenn du einen String in data.asm definierst, speicherst du ASCII-Codes im Speicher. Wenn du einen String 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