Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

كيف تعمل التعليمات

جزء من قسم الأساسيات في رحلة Assembly على Coddy — الدرس 4 من 45.

أنت تعلم أن وحدة المعالجة المركزية (CPU) تنفذ التعليمات واحدة تلو الأخرى. ولكن كيف تعرف وحدة المعالجة المركزية أي تعليمات يجب تشغيلها بعد ذلك؟ أين يتم تخزين التعليمات؟ وكيف يبدو شكل التعليمة في الواقع؟

التعليمات هي أرقام.

هذه حقيقة أساسية حول أجهزة الكمبيوتر. كل شيء عبارة عن رقم. البيانات التي تعمل معها (مثل الرقم 42) هي رقم. العنوان الذي توجد فيه البيانات (مثل 1000) هو رقم. والتعليمات نفسها (مثل mov و add و cmp) هي أيضاً أرقام.

عندما تكتب كود التجميع (assembly) مثل mov rax, 5، يقوم المجمّع (assembler) بتحويل هذا النص المقروء بشرياً إلى رقم يفهمه المعالج (CPU). يُسمى هذا الرقم رمز التعليمات (instruction code).

أين تُخزن التعليمات؟

تُخزن التعليمات في الذاكرة، تماماً مثل البيانات. لا يوجد مكان خاص للتعليمات. الذاكرة تحتوي على كليهما:

  • البيانات (الأرقام، الأحرف، المصفوفات)
  • التعليمات (البرنامج نفسه)

وحدة المعالجة المركزية (CPU) لا تعرف الفرق. فهي ببساطة تقرأ كل ما هو موجود في عنوان الذاكرة الذي يشير إليه عداد البرنامج (Program Counter). لقد تعلمت عن الـ PC باختصار في الدرس 0.1. الآن حان الوقت لفهم كيفية عمله بالضبط.

يُعد عداد البرنامج Program Counter (والذي يُسمى أيضاً مؤشر التعليمات Instruction Pointer) سجلاً خاصاً داخل وحدة المعالجة المركزية CPU. وتتمثل مهمته الوحيدة في الاحتفاظ بعنوان الذاكرة للتعليمات التالية المطلوب تنفيذها.

دورة الجلب والتنفيذ:

تكرر وحدة المعالجة المركزية (CPU) هذه الخطوات الثلاث باستمرار:

الخطوةماذا يحدث
1. الجلب (FETCH)قراءة التعليمة الموجودة في العنوان في PC
2. التنفيذ (EXECUTE)تنفيذ تلك التعليمة
3. التقدم (ADVANCE)نقل PC إلى التعليمة التالية

مثال بسيط:

إذا كان PC = 1000، فإن وحدة المعالجة المركزية (CPU):

  • تجلب التعليمة الموجودة في العنوان 1000
  • تنفذها
  • تنقل PC إلى العنوان التالي (1000 + حجم التعليمة)

ثم يتكرر مع قيمة PC الجديدة.

كيف يبدو شكل التعليمة:

تتكون كل تعليمة من جزأين:

الجزءماذا يفعلمثال
رمز العملية (Opcode)ما يجب فعلهmov, add, cmp
المعاملات (Operands)ما يتم إجراء العملية عليهrax, 5, [result]

بعض التعليمات تحتوي على معامل واحد (مثل inc rax لإضافة 1). وبعضها يحتوي على معاملين (مثل mov rax, 5). وبعضها يحتوي على ثلاثة (مثل add rax, rbx, rcx في بعض البنيات).

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات