اقرأ في هذا المقال
- لغة أسمبلي Assembly Programming Language
- مميزات لغة البرمجة أسمبلي – Assembly Programming Language Features
- عيوب لغة أسمبلي
- الأجزاء الرئيسية الخاصة ببرنامج لغة الأسمبلي
- الفرق بين لغة الآلة ولغة التجميع
لغة أسمبلي Assembly Programming Language
لغة أسمبلي (Assembly Programming Language) أو لغة التجميع هي عبارة عن واحدة من لغات البرمجة المنخفضة المستوى والتي تُستخدم للمعالجات والأجهزة الأخرى القابلة للبرمجة، وتُعتبر أسمبلي اللغة الأقرب على الإطلاق للغة المعالجات، وفيها يقوم المعالج بتنفيذ العمليات الفيزيائية بشكل مباشر، وبالرغم من صعوبة هذه اللغة إلا أنها لا تزال مفيدة للمبرمجين عندما يحتاج المبرمج للسرعة بشكل كبير أو عندما يريد تنفيذ مهام غير مدعومة في اللغات البرمجية عالية المستوى.
وتساعد هذه اللغة المبرمجين على كتابة الأكواد البرمجية التي يمكن قراءتها والتي تشبه لغة الآلة تقريباً، ولصعوبة فهم لغة الآلة وقراءتها كونها عن سلسلة من الأرقام، فإن لغة أسمبلي تساعد في توفير التحكم الكامل في المهام التي يؤديها جهاز الحاسوب بشكل كبير.
مميزات لغة البرمجة أسمبلي – Assembly Programming Language Features
- تتطلب ذاكرة أقل ووقت تنفيذ أقل.
- تتيح لغة أسمبلي إمكانية تنفيذ وظائف معقدة بشكل أسهل.
- مناسبة للمهام الصعبة والحرجة والدقيقة.
- من السهل إجراء عمليات الإدراج والحذف من خلال لغة التجميع.
- تتطلب لغة أسمبلي تعليمات أقل لتحقيق النتيجة المرجوّة.
- فهم لغة البرمجة أسمبلي يجعل المبرمج قادر على التعامل مع أنظمة التشغيل والمعالجات.
عيوب لغة أسمبلي
- لا يمكن تنفيذ البرامج الطويلة المكتوبة بهذه اللغات على أجهزة حاسوب صغيرة الحجم.
- يستغرق وقتاً طويلاً لتشفير البرنامج، أو كتابته، لأنه أكثر تعقيداً بطبيعته.
- البرامج المكتوبة بلغة البرمجة أسمبلي تكون مخصصة لفئة محددة من الأجهزة وعندما نكتب برنامج جديد باستخدام هذه اللغة فإنه يتوجب على المبرمجين إعادة كتابة البرنامج بالكامل عند العمل مع معمارية مختلفة، وأن خاصية قابلية نقل البرامج تكون فقط في اللغات العالية المستوى.
الأجزاء الرئيسية الخاصة ببرنامج لغة الأسمبلي
الجزء الخاص بالبيانات Data:
يستخدم هذا الجزء لتعريف البيانات والثوابت، ولا تتغير هذه البيانات أثناء التشغيل، ويمكن للمبرمج في هذا الجزء تعريف الثوابت أو تحديد حجم التخزين المؤقت أو أسماء الملفات.
الجزء الخاص بالنص Text:
وهو الجزء الذي يحتوي على التعليمات البرمجية الأساسية للبرنامج، وهذا الجزء يجب أن يبدأ بتعريف (global _start).
الجزء الخاص بالـ Bss:
وهو الجزء الخاص بالمتغيرات؛ حيث يتم تعريف المتغيرات فيه أي القيم التي ستتغير قيمتها أثناء التشغيل.
الفرق بين لغة الآلة ولغة التجميع
لغة الآلة:
- هي لغة يفهمها ويسهل على المعالج المركزي (CPU) تنفيذها مباشرةً.
- تتكون من سلسلة من الأرقام الثنائية (0 و 1) تمثل كل منها تعليمة محددة.
- صعبة القراءة والكتابة على المبرمجين.
- تعتمد على بنية المعالج المركزي، لذلك لا يمكن نقلها بسهولة بين أجهزة مختلفة.
لغة التجميع:
- هي لغة برمجة أقرب إلى لغة الإنسان من لغة الآلة.
- تستخدم رموزًا وأسماءً سهلة الفهم لتمثيل تعليمات المعالج المركزي.
- أسهل بكثير من لغة الآلة في القراءة والكتابة.
- يتم تحويلها إلى لغة الآلة بواسطة برنامج يسمى “المجمع” (assembler).
- تعتمد على بنية المعالج المركزي، لذلك لا يمكن نقلها بسهولة بين أجهزة مختلفة.
الجدول التالي يلخص أهم الفروق بين لغة الآلة ولغة التجميع:
المعايير | لغة الآلة | لغة التجميع |
---|---|---|
مستوى القراءة | صعبة | سهلة |
سهولة الكتابة | صعبة | سهلة |
الاعتماد على بنية المعالج | تعتمد عليها | تعتمد عليها |
قابلية النقل بين الأجهزة | صعبة | صعبة |
دور المجمع | غير مستخدم | ضروري |
بعض النقاط الإضافية:
- لغة التجميع هي لغة برمجة منخفضة المستوى، بينما تعتبر لغات البرمجة الحديثة مثل Python و Java لغات برمجة عالية المستوى.
- لغات البرمجة عالية المستوى أسهل بكثير من لغة التجميع، لكنها تتطلب مترجمًا أو مفسرًا لترجمتها إلى لغة الآلة.
- لغة التجميع مفيدة في بعض الحالات، مثل كتابة برامج تتطلب التحكم الدقيق في الأجهزة أو كتابة أنظمة تشغيل.