ASCII ve Hex
Coddy'nin Assembly Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 13 / 45.
Bilgisayarlar yalnızca sayıları anlar. Peki 'A', 'b' veya '?' gibi harfleri nasıl depolarlar?
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ı (onaltılık) |
|---|---|---|
| '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 gerekli |
|---|---|---|
| 'A' | 0x41 | Büyük harfler burada başlar |
| 'a' | 0x61 | Küçük harfler burada başlar |
| '0' | 0x30 | Rakamlar burada başlar |
| Boşluk | 0x20 | Sözcükleri ayırır |
Yeni satır (\n) | 0x0A | Sonraki satıra geçer |
Null (\0) | 0x00 | Dizgenin sonunu belirten işaret |
Desene dikkat edin:
| Desen | Örnek |
|---|---|
| Büyük harfler A-Z ardışıktır | 'A'=65, 'B'=66, 'C'=67... |
| Küçük harfler a-z ardışıktır | 'a'=97, 'b'=98, 'c'=99... |
| Rakamlar 0-9 ardışıktır | '0'=48, '1'=49, '2'=50... |
| Küçük harf = büyük harf + 32 | 'a' (97) = 'A' (65) + 32 |
Bir dizgenin bellekte saklanma şekli:
Yeni satır içeren "Hi" sözcüğü şu şekilde saklanır:
| Karakter | Onaltılık | İkili |
|---|---|---|
| 'H' | 0x48 | 01001000 |
| 'i' | 0x69 | 01101001 |
| '\n' | 0x0A | 00001010 |
Assembly dilinde bunu şöyle 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, ASCII kodlarını bellekte depolarsınız. Bir dize yazdırdığınızda, işletim sistemi bu ASCII kodlarını okur ve karşılık gelen 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.
Temel Bilgiler 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 HexKendi başına pratik yap: Assembly playground