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' (فارغ) | 0 | 0x00 |
قيم ASCII المهمة التي يجب حفظها للتجميع:
| الحرف | سداسي عشري | سبب الحاجة إليه |
|---|---|---|
| 'A' | 0x41 | تبدأ الأحرف الكبيرة هنا |
| 'a' | 0x61 | تبدأ الأحرف الصغيرة هنا |
| '0' | 0x30 | تبدأ الأرقام هنا |
| مسافة | 0x20 | لفصل الكلمات |
سطر جديد (\n) | 0x0A | للانتقال إلى السطر التالي |
محرف فارغ (\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 والست عشري5استدعاء النظام Exit Syscall
ما هو الـ Syscall؟استدعاء النظام Exit Syscall (60)رموز الخروج (Exit Codes)ملخص: الخروج النظيف (Clean Exit)تدرّب بنفسك: Playground لـ Assembly