ASCII ve Hex
Coddy'nin Assembly Journey'sinin Temeller bölümünün bir parçası — ders 13 / 45.
Bilgisayarlar sadece sayıları anlar. Peki 'A', 'b' veya '?' gibi harfleri nasıl saklarlar?
Cevap ASCII'dir (American Standard Code for Information Interchange). ASCII, her karaktere bir sayı atayan bir tablodur.
ASCII nasıl çalışır:
| Karakter | ASCII numarası (ondalık) | ASCII numarası (hex) |
|---|---|---|
| 'A' | 65 | 0x41 |
| 'B' | 66 | 0x42 |
| 'C' | 67 | 0x43 |
| 'a' | 97 | 0x61 |
| 'b' | 98 | 0x62 |
| '0' | 48 | 0x30 |
| '1' | 49 | 0x31 |
| ' ' (boşluk) | 32 | 0x20 |
| '\n' (yeni satır) | 10 | 0x0A |
| '\0' (null) | 0 | 0x00 |
Assembly için ezberlenmesi gereken önemli ASCII değerleri:
| Karakter | Hex | Neden ihtiyacınız var |
|---|---|---|
| 'A' | 0x41 | Büyük harfler buradan başlar |
| 'a' | 0x61 | Küçük harfler buradan başlar |
| '0' | 0x30 | Rakamlar buradan başlar |
| Boşluk | 0x20 | Kelimeleri ayırmak için |
Yeni satır (\n) | 0x0A | Sonraki satıra geçmek için |
Null (\0) | 0x00 | Dize sonu işareti |
Kalıba dikkat edin:
| Kalıp | Örnek |
|---|---|
| Büyük A-Z harfleri ardışıktır | 'A'=65, 'B'=66, 'C'=67... |
| Küçük a-z harfleri ardışıktır | 'a'=97, 'b'=98, 'c'=99... |
| 0-9 rakamları ardışıktır | '0'=48, '1'=49, '2'=50... |
| Küçük harf = büyük harf + 32 | 'a' (97) = 'A' (65) + 32 |
Bir string bellekte nasıl saklanır:
Yeni satır karakteri içeren "Hi" kelimesi şu şekilde saklanır:
| Karakter | Hex | Binary |
|---|---|---|
| 'H' | 0x48 | 01001000 |
| 'i' | 0x69 | 01101001 |
| '\n' | 0x0A | 00001010 |
Assembly'de bunu şu şekilde yazarsınız: db 'Hi', 0x0A
Assembly için buna neden ihtiyacınız var:
data.asm içinde bir dize tanımladığınızda, bellekte ASCII kodlarını saklıyorsunuz. Bir dizeyi yazdırdığınızda, işletim sistemi bu ASCII kodlarını okur ve eşleşen karakterleri görüntüler.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
2Sayı Sistemleri
Neden İkilik Sistem?İkilik SayılarOnluktan İkiliğeNeden Hexadecimal?Hex'ten OnluğaOnluktan Hex'eASCII ve Hex