لغة الآلة Machine Language - كتاب هندسة البرمجيات - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: لغة الآلة Machine Language

📚 معلومات الصفحة

الكتاب: كتاب هندسة البرمجيات - الصف 12 - الفصل 1 | المادة: هندسة البرمجيات | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

تتناول هذه الصفحة شرحًا لمفهومي لغة الآلة ولغة التجميع في البرمجة، بدءًا من تعريف لغة الآلة كسلسلة من الأرقام الثنائية (0 و1) التي يفهمها الحاسب مباشرة، لكنها صعبة الفهم والبرمجة من قبل البشر بسبب اعتمادها على بنية وحدة المعالجة المركزية (CPU).

ثم تنتقل إلى شرح لغة التجميع كحل وسيط، حيث تستبدل الأرقام الثنائية برموز مثل ADD للجمع، مما يجعلها أكثر سهولة في البرمجة، لكنها تتطلب ترجمة إلى لغة الآلة عبر برنامج يُسمى المُجمّع (Assembler).

أخيرًا، تناقش تحديات استخدام لغة التجميع، مثل اختلافها حسب بنية الحاسب، واقتصار أوامرها على العمليات البسيطة كالجمع والضرب، مما يؤدي إلى برامج طويلة ومعقدة، وعدم إمكانية نقل البرامج بين أجهزة ذات بنى مختلفة.

📄 النص الكامل للصفحة

--- SECTION: لغة الآلة Machine Language --- لغة الآلة Machine Language يجب إعطاء الحاسب الأوامر على شكل سلسلة أرقام ثنائية تتكون من الرقمين 0 و 1، ويطلق على اللغة التي تقدم بها هذه الأوامر اسم لغة الآلة (Machine Language). ولا يستطيع الإنسان فهم هذه اللغة، ولا يمكن للمبرمج كتابة البرامج وتنفيذها بشكل مباشر باستخدام هذه اللغة؛ حيث يتطلب الأمر معرفة عميقة بمكونات الحاسب، خاصة أن لغة الآلة تختلف باختلاف بنية وحدة المعالجة المركزية (CPU- Central Processing Unit) في الحاسب. يتكون البرنامج بلغة الآلة من سلسلة من التعليمات الصادرة للمعالج لتنفيذ العمليات الأساسية على شكل الوحدات الثنائية (Binary Bits). --- SECTION: لغة التجميع Assembly Language --- لغة التجميع Assembly Language • لغة التجميع هي لغة برمجة تقع من حيث سهولتها بين لغة الآلة ولغات البرمجة عالية المستوى، ويطلق عليها أيضًا اسم لغة البرمجة الرمزية. • تتشابه لغة التجميع مع لغة الآلة، ولكنها تُعدُّ أكثر سهولة في البرمجة حيث تتيح للمبرمج استبدال الرقمين (0 و 1) بالرموز. يتم تحويل أوامر لغة التجميع التي يمكن فهمها من قبل الإنسان إلى سلسلة من الأعداد التي تتكون من الرقمين 0 و 1 لكي يفهمها الحاسب وينفذها. في لغة التجميع على سبيل المثال، يتم استخدام كلمة ADD متبوعة برقمين للقيام بعملية الجمع. تُعدُّ هذه الأوامر سهلة للفهم والحفظ، ولكن يجب ترجمتها إلى سلسلة من الأرقام الثنائية (0 و 1) داخل الحاسب لتنفيذ العملية المطلوبة، وتتم عملية الترجمة هذه بواسطة برنامج يُسمى المُجمّع (Assembler). تتكون أوامر لغة التجميع من مقاطع رمزية تتوافق مع أوامر لغة الآلة. --- SECTION: تحديات استخدام لغة التجميع Challenges of Assembly Language --- تحديات استخدام لغة التجميع Challenges of Assembly Language • رغم كونها لغة منخفضة المستوى، إلا أن استخدامها يمكن من برمجة العمليات البسيطة ذات التسلسلات الثنائية بسهولة. • تختلف لغة التجميع المستخدمة حسب بنية كل حاسب. • تقتصر أوامر تنفيذ الوظائف في لغة التجميع على العمليات البسيطة كالجمع والضرب والمقارنات، وتفتقر للأوامر التي يمكن أن تدعم تنفيذ وظائف أكثر تعقيدًا، مما يُجبر المبرمج على كتابة برامج طويلة ومعقدة يصعب فهمها وتصحيحها. • لا يمكن نقل برنامج من جهاز حاسب إلى آخر له بنية مختلفة. وزارة التعليم Ministry of Education 29 2025 - 1447 --- VISUAL CONTEXT --- **IMAGE**: شعار وزارة التعليم Description: شعار وزارة التعليم السعودية، يتضمن اسم الوزارة باللغتين العربية والإنجليزية، ورقم 29، وتواريخ 2025 - 1447. Context: يشير إلى الجهة الناشرة أو المعتمدة للمحتوى التعليمي.

✅ حلول أسئلة الكتاب الرسمية

عدد الأسئلة: 3

سؤال مربع-1: • لغة التجميع هي لغة برمجة تقع من حيث سهولتها بين لغة الآلة ولغات البرمجة عالية المستوى، ويطلق عليها أيضًا اسم لغة البرمجة الرمزية.

الإجابة: لغة التجميع هي لغة برمجة تقع من حيث سهولتها بين لغة الآلة ولغات البرمجة عالية المستوى.

خطوات الحل:

  1. **الشرح:** لنفهم هذا السؤال، نحتاج أولاً إلى معرفة مستويات لغات البرمجة. هناك لغات برمجة عالية المستوى مثل Python أو Java، وهي قريبة من اللغة البشرية وسهلة الفهم. وهناك لغة الآلة، وهي اللغة التي يفهمها الحاسوب مباشرة وتتكون من أرقام ثنائية (0 و1) فقط، وهي صعبة جداً على البشر. لغة التجميع تقع في المنتصف بين هذين المستويين. فهي ليست سهلة مثل اللغات عالية المستوى، ولكنها أيضاً ليست معقدة وصعبة الفهم مثل لغة الآلة تماماً. لذلك يمكننا القول إنها تقع من حيث السهولة بين لغة الآلة ولغات البرمجة عالية المستوى. إذن الإجابة هي: **لغة التجميع هي لغة برمجة تقع من حيث سهولتها بين لغة الآلة ولغات البرمجة عالية المستوى.**

سؤال مربع-2: • تتشابه لغة التجميع مع لغة الآلة، ولكنها تُعدُّ أكثر سهولة في البرمجة حيث تتيح للمبرمج استبدال الرقمين (0 و 1) بالرموز.

الإجابة: تتشابه لغة التجميع مع لغة الآلة، ولكنها تُعدُّ أكثر سهولة في البرمجة حيث تتيح للمبرمج استبدال الرقمين (0 و 1) بالرموز.

خطوات الحل:

  1. **الشرح:** الفكرة هنا هي مقارنة لغة التجميع بلغة الآلة. لغة الآلة، كما نعلم، تستخدم النظام الثنائي المكون من الرقمين 0 و1 فقط لتمثيل الأوامر. هذا يجعل قراءتها وكتابتها صعبة جداً على المبرمج البشري. لغة التجميع تشبه لغة الآلة من حيث أنها لغة منخفضة المستوى وتتعامل بشكل وثيق مع مكونات الحاسوب. لكن الفرق الكبير الذي يجعلها أسهل هو أنها تسمح للمبرمج باستخدام رموز وكلمات مختصرة (مثل ADD للجمع أو MOV للنقل) بدلاً من كتابة سلاسل طويلة ومعقدة من الأصفار والواحدات. هذا الاستبدال للرقمين الثنائيين برموز مفهومة يجعل البرمجة بلغة التجميع أكثر سهولة من البرمجة بلغة الآلة المباشرة. إذن الإجابة هي: **تتشابه لغة التجميع مع لغة الآلة، ولكنها تُعدُّ أكثر سهولة في البرمجة حيث تتيح للمبرمج استبدال الرقمين (0 و 1) بالرموز.**

سؤال مربع-3: • رغم كونها لغة منخفضة المستوى، إلا أن استخدامها يمكن من برمجة العمليات البسيطة ذات التسلسلات الثنائية بسهولة.

الإجابة: رغم كونها لغة منخفضة المستوى، إلا أن استخدامها يمكن من برمجة العمليات البسيطة ذات التسلسلات الثنائية بسهولة.

خطوات الحل:

  1. **الشرح:** هذا السؤال يتناول خاصية مهمة للغات منخفضة المستوى مثل لغة التجميع. كلمة "منخفضة المستوى" تعني أن اللغة قريبة من لغة الآلة وتتحكم مباشرة في مكونات الحاسوب (مثل المعالج والذاكرة)، بعكس اللغات عالية المستوى التي تكون أكثر تجريداً. رغم أن لغة التجميع تعتبر منخفضة المستوى وقد تبدو معقدة مقارنة بلغات مثل Python، إلا أن لها ميزة كبيرة عند التعامل مع عمليات بسيطة ومحددة للغاية. هذه العمليات غالباً ما تتطلب تسلسلات دقيقة من التعليمات الثنائية (أي سلسلة من الأوامر المكونة من 0 و1) التي يفهمها المعالج مباشرة. لغة التجميع، بكونها وسيطاً بين لغة الآلة والبشر، تتيح كتابة هذه التسلسلات الثنائية المعقدة بطريقة أسهل باستخدام الرموز، مما يمكن المبرمج من برمجة تلك العمليات البسيطة والتحكم الدقيق في الجهاز بسهولة نسبية. إذن الإجابة هي: **رغم كونها لغة منخفضة المستوى، إلا أن استخدامها يمكن من برمجة العمليات البسيطة ذات التسلسلات الثنائية بسهولة.**

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 7 بطاقة لهذه الصفحة

ما هي لغة الآلة (Machine Language)؟

الإجابة: هي اللغة التي تقدم بها الأوامر للحاسب على شكل سلسلة أرقام ثنائية تتكون من الرقمين 0 و 1. لا يستطيع الإنسان فهمها مباشرة، وتختلف باختلاف بنية وحدة المعالجة المركزية (CPU).

الشرح: لغة الآلة هي المستوى الأدنى للتواصل مع الحاسب، حيث تتمثل التعليمات في شكل ثنائي بحت يتوافق مع الدوائر الكهربائية داخل المعالج.

تلميح: فكر في اللغة التي يفهمها الحاسب مباشرة دون وسيط، وتتكون من رقمين فقط.

التصنيف: تعريف | المستوى: سهل

ما هي لغة التجميع (Assembly Language)؟

الإجابة: هي لغة برمجة رمزية تقع بين لغة الآلة ولغات البرمجة عالية المستوى. تتيح للمبرمج استبدال الأرقام الثنائية (0 و 1) برموز وكلمات يسهل فهمها، مثل استخدام كلمة ADD للجمع.

الشرح: لغة التجميع هي خطوة نحو تجاوز صعوبة لغة الآلة، حيث تعمل كطبقة تجريدية بسيطة، لكنها لا تزال لغة منخفضة المستوى مرتبطة ببنية المعالج.

تلميح: فكر في لغة وسيطة تستخدم رموزاً بدلاً من الأرقام الثنائية لتسهيل البرمجة.

التصنيف: تعريف | المستوى: سهل

ما هو المُجمّع (Assembler)؟

الإجابة: هو برنامج مسؤول عن ترجمة أوامر لغة التجميع (المفهومة للإنسان) إلى سلسلة من الأرقام الثنائية (0 و 1) التي يفهمها الحاسب وينفذها.

الشرح: المُجمّع هو المترجم الخاص بلغة التجميع، وهو حلقة الوصل الأساسية التي تجعل البرامج المكتوبة بهذه اللغة قابلة للتنفيذ على العتاد المادي.

تلميح: فكر في البرنامج الذي يحول اللغة الوسيطة إلى لغة الآلة.

التصنيف: تعريف | المستوى: متوسط

ما الفرق الرئيسي بين لغة الآلة ولغة التجميع من حيث الشكل الذي تكتب به الأوامر؟

الإجابة: تكتب أوامر لغة الآلة بشكل حصري على هيئة سلسلة من الأرقام الثنائية (0 و 1). بينما تكتب أوامر لغة التجميع باستخدام رموز وكلمات (مثل ADD) بدلاً من الأرقام الثنائية مباشرة، مما يجعلها أكثر قابلية للفهم من قبل المبرمج.

الشرح: الفرق الجوهري هو مستوى التجريد. لغة الآلة هي التمثيل المباشر الذي يفهمه العتاد، بينما لغة التجميع تضيف طبقة تجريد رمزية لتسهيل البرمجة البشرية.

تلميح: قارن بين تمثيل عملية بسيطة مثل الجمع في كلتا اللغتين.

التصنيف: فرق بين مفهومين | المستوى: متوسط

اذكر اثنين من تحديات أو عيوب استخدام لغة التجميع.

الإجابة: 1. تختلف لغة التجميع المستخدمة حسب بنية كل حاسب، مما يعني أن البرنامج المكتوب لجهاز معين لا يمكن نقله إلى جهاز آخر له بنية مختلفة. 2. تقتصر أوامرها على العمليات البسيطة (كالجمع والضرب)، مما يجبر المبرمج على كتابة برامج طويلة ومعقدة لتنفيذ وظائف أكثر تعقيدًا.

الشرح: هذه التحديات تجعل لغة التجميع غير عملية للتطبيقات المعقدة أو التي تحتاج للعمل على منصات متعددة، وهي من الأسباب الرئيسية لظهور لغات البرمجة عالية المستوى.

تلميح: فكر في مشكلتي قابلية النقل بين الأجهزة ومدى تعقيد المهام التي يمكن تنفيذها.

التصنيف: مفهوم جوهري | المستوى: متوسط

لماذا لا يمكن نقل برنامج مكتوب بلغة التجميع من جهاز حاسب إلى آخر له بنية مختلفة؟

الإجابة: لأن لغة التجميع تعتمد بشكل مباشر على بنية وحدة المعالجة المركزية (CPU) للجهاز. الأوامر الرمزية (مثل ADD) تتوافق مع سلسلة ثنائية محددة في لغة الآلة الخاصة بذلك المعالج، والتي تختلف من معالج لآخر.

الشرح: هذه الخاصية تسمى "اعتماد اللغة على الآلة" (Machine Dependency)، وهي سمة رئيسية للغات منخفضة المستوى مثل لغة التجميع والآلة.

تلميح: تذكر العلاقة الوثيقة بين لغة التجميع والمكون المادي للحاسب.

التصنيف: تفكير ناقد | المستوى: صعب

ما العلاقة بين لغة التجميع ولغة الآلة؟

الإجابة: لغة التجميع هي تمثيل رمزي مقروء للإنسان لأوامر لغة الآلة. كل أمر في لغة التجميع (مثل ADD) يتوافق مع أمر محدد في لغة الآلة (سلسلة ثنائية). يتم تحويل لغة التجميع إلى لغة الآلة عبر برنامج يسمى المُجمّع (Assembler).

الشرح: العلاقة هي علاقة ترجمة وتوافق واحد لواحد (One-to-One Correspondence) إلى حد كبير، مما يجعل لغة التجميع مجرد صيغة أكثر ملاءمة للبشر لنفس التعليمات التي ينفذها المعالج.

تلميح: فكر في لغة التجميع كـ "قناع" أو "ترجمة" للغة الآلة.

التصنيف: مفهوم جوهري | المستوى: متوسط