ASCII והקסדצימלי
חלק מהיחידה יסודות במסלול ה-Assembly של Coddy. שיעור 13 מתוך 45.
מחשבים מבינים רק מספרים. אז איך הם מאחסנים אותיות כמו 'A', 'b' או '?'?
התשובה היא ASCII (קוד תקני אמריקאי לחילופי מידע). ASCII היא טבלה שמקצה מספר לכל תו.
איך ASCII עובד:
| תו | מספר ASCII (עשרוני) | מספר ASCII (הקסדצימלי) |
|---|---|---|
| 'A' | 65 | 0x41 |
| 'B' | 66 | 0x42 |
| 'C' | 67 | 0x43 |
| 'a' | 97 | 0x61 |
| 'b' | 98 | 0x62 |
| '0' | 48 | 0x30 |
| '1' | 49 | 0x31 |
| ' ' (רווח) | 32 | 0x20 |
| '\n' (שורה חדשה) | 10 | 0x0A |
| '\0' (null) | 0 | 0x00 |
ערכי ASCII חשובים שכדאי לשנן עבור אסמבלי:
| תו | הקסדצימלי | למה צריך את זה |
|---|---|---|
| 'A' | 0x41 | האותיות הגדולות מתחילות כאן |
| 'a' | 0x61 | האותיות הקטנות מתחילות כאן |
| '0' | 0x30 | הספרות מתחילות כאן |
| רווח | 0x20 | הפרדה בין מילים |
שורה חדשה (\n) | 0x0A | מעבר לשורה הבאה |
תו null (\0) | 0x00 | סמן לסוף מחרוזת |
שימו לב לדפוס:
| דפוס | דוגמה |
|---|---|
| האותיות הגדולות A-Z עוקבות ברצף | 'A'=65, 'B'=66, 'C'=67... |
| האותיות הקטנות a-z עוקבות ברצף | 'a'=97, 'b'=98, 'c'=99... |
| הספרות 0-9 עוקבות ברצף | '0'=48, '1'=49, '2'=50... |
| אות קטנה = אות גדולה + 32 | 'a' (97) = 'A' (65) + 32 |
איך מחרוזת נשמרת בזיכרון:
המילה "Hi" עם ירידת שורה נשמרת כך:
| תו | הקסדצימלי | בינארי |
|---|---|---|
| 'H' | 0x48 | 01001000 |
| 'i' | 0x69 | 01101001 |
| '\n' | 0x0A | 00001010 |
באסמבלי כותבים זאת כך: db 'Hi', 0x0A
למה זה נחוץ לך באסמבלי:
כשאתה מגדיר מחרוזת ב-data.asm, אתה מאחסן קודי ASCII בזיכרון. כשאתה מדפיס מחרוזת, מערכת ההפעלה קוראת את קודי ה-ASCII האלה ומציגה את התווים התואמים.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
2שיטות ספירה
למה בינארי?מספרים בינארייםמעשרוני לבינארילמה הקסדצימלי?מהקסדצימלי לעשרונימעשרוני להקסדצימליASCII והקסדצימליתרגלו בעצמכם: Assembly אונליין