ما هي لغة اسمبلي Assembly

ما هي لغة اسمبلي Assembly؟ وما إيجابياتها وسلبياتها؟ في عالم البرمجة توجد العديد من اللغات التي تعد اسمبلي أو لغة التجميع من أهمها وأشهرها، وسوف نتعرف إليها عن كثب ونستعرض كافة التفاصيل الخاصة بها عبر موقع فكرة.
عناصر المقال
- 1 لغة اسمبلي Assembly
- 2 أنواع لغة التجميع اسمبلي
- 3 1- المجمع أحادي التمرير
- 4 2- المجمع متعدد التمريرات
- 5 أهمية لغة اسمبلي للبرمجة
- 6 متطلبات تعلم لغة Assembly للبرمجة
- 7 مميزات لغة اسمبلي Assembly
- 8 سلبيات لغة اسمبلي
- 9 أسئلة شائعة
- 10 ما هو تصنيف لغة اسمبلي؟
- 11 متى استخدم فن الاستذكار بحرف واحد؟
- 12 في أي عام بدأ استخدام لغات التجميع على نطاق واسع؟
لغة اسمبلي Assembly
إن لغة اسمبلي Assembly هي واحدة من لغات البرمجة المعروفة، وتتسم بما يلي:
- هي إحدى لغات البرمجة منخفضة المستوى خاصة بالمعالجات الصغرية والأجهزة القابلة للبرمجة.
- اسمبلي ليست لغة واحدة فقط للبرمجة بل هي مجموعة متداخلة من اللغات.
- تمثل هذه اللغة لغة الآلة التي نحتاج إليها عند برمجة أي نوع من معماريات المعالجات وتعد هي الأقرب للغات المعالجات.
- في هذه اللغة يقوم المعالج بتنفيذ العمليات الفيزيائية بطريقة مباشرة.
- هناك الكثير من الصعوبات البرمجية ولكنها ما زالت مفيدة جدًا للمبرمجين حينما يحتاج المبرمج لسرعة أكبر أو عندما يحتاج تنفيذ مهام غير مدعومة في اللغات الأخرى ذات المستوى العالي.
أنواع لغة التجميع اسمبلي
تستخدم المجمعات أو Assemblers بهدف ترجمة لغة التجميع إلى لغة الآلة، ولهذه المجمعات نوعين، وهما:
1- المجمع أحادي التمرير
هذا المجمع يقوم بوظائف معينة، وهي:
- المسح الكامل لإدخال البرنامج المصدر إلى المجمع.
- إدخال الرمز الموجود في حقل الملصق وعنوان النص المتاح للكلمة الآلية في جدول الرموز.
- عمل الترجمة المكافئة عن طريق العبارة بناءً على أساس البيان المطلق عليه اسم مجمع المرور الفردي أو ترجمة التمرير الواحدة.
- التحقق من صحة التعليمات البرمجية وذلك عن طريق البحث عنها في جدول رمز ذاكري.
2- المجمع متعدد التمريرات
هذا المجمع يتمتع بعدة خصائص، وهي:
- إمكانية إنشاء رمز الكائن وهذا التمرير يطلق عليه اسم ممر التركيب.
- يحتاج هذا المجمع إلى أي شكل من أشكال الكود الوسيط بهدف تمريرة جديدة في كل مرة.
- يعد هذا المجمع أبطأ من مجمع التمرير الفردي.
- من الممكن أن يكون هناك بعض الإجراءات التي يمكن تنفيذها أكثر من مرة وتكرارها.
أهمية لغة اسمبلي للبرمجة
إن تعلم لغة اسمبلي تجعل المبرمج قادرًا على:
- توصيل البرنامج إلى الأجهزة الخارجية.
- كيفية تعامل البرامج مع نظام التشغيل والمعالج وال Bios.
- تمثيل البيانات في الذاكرة وسائر الأجهزة الخارجية.
- معرفة كيف يمكن له الوصول وتنفيذ التعليمات.
- معرفة كيفية وصول التعليمات إلى البيانات ومعالجتها.
متطلبات تعلم لغة Assembly للبرمجة
من يريد تعلم لغة اسمبلي للبرمجة يحتاج إلى فهم كيفية عمل جهاز الكمبيوتر، وتعلم وفهم هذه المفاهيم:
- كيفية تنظيم الذاكرة ما بين فصل الكود والبيانات المتغيرة والبيانات الثابتة.
- الفرق بين ثنائي التكملة Twos-complement وأحادي التكملة Ones-complement.
- الفرق بين التحول Shifting والتدوير Rotating للسجلات.
- مسجلات وحدة المعالجة المركزية CPU وسجلات ALU.
- الفرق بين عرض ناقل البيانات Data Bus وعرض ناقل العنوان Address Bus.
- التمييز بين المقارنات غير المتوقعة والمقارنات المتوقعة بالإضافة إلى إرشادات الأفرع الواجب استخدامها.
- السجل تكون له أسماء مختلفة مثل CCR وPSW والأسماء الأخرى الشائعة.
- فهم بعض المصطلحات الهامة مثل Registers وStacks، Accumulators.
- الفرق بين الذاكرة المعينة Memory-mapped مقابل ذاكرة الإدخال، والإخراج المعين Io-mapped IO.
مميزات لغة اسمبلي Assembly
هذه اللغة من بين لغات البرمجة الأخرى تتمتع بالمميزات الآتية:
- تنفيذ الوظائف المعقدة وخاصة بالأجهزة نفسها بطريقة أبسط.
- لا تحتاج ذاكرة كبيرة أو وقت طويل في التنفيذ.
- تتناسب تمامًا مع المهام الصعبة والدقيقة.
- ملائمة في كتابة برامج خدمة المقاطعة والبرامج الخاصة بالذاكرة.
- سهولة إجراء عمليات الإدراج والحذف.
- البرامج المكتوبة بها قابلة للاستبدال ومن السهل تذكرها.
- لا تحتاج إلى تعليمات كثير لتحقيق النتيجة المطلوبة.
سلبيات لغة اسمبلي
كما توجد مميزات للغة اسمبلي للمبرمجة توجد في المقابل بعض السلبيات، وهي تتمثل في:
- لا توجد مجموعة تطوير النظام أو SDKs.
- من الصعب جدًا تذكر بناء الجمل.
- برنامج Assembly يستغرق وقتًا طويلًا في تشفير البرنامج أو كتابته لأنه معقدًا أكثر.
- لا يمكن تنفيذ البرامج الطويلة المكتوبة على أجهزة حاسوب ذات حجم صغير.
- عدم قابلية نقل البرنامج بين أنواع أجهزة الكمبيوتر المختلفة.
إن لغة اسمبلي Assembly وبالرغم من انتشار العديد من لغات البرمجة الأخرى ستبقى هي الأهم بالنسبة إلى العديد من المبرمجين، وخاصةً المبتدئين.
أسئلة شائعة
-
ما هو تصنيف لغة اسمبلي؟
برمجة أمرية وبرمجة غير هيكلية.
-
متى استخدم فن الاستذكار بحرف واحد؟
عام 1949م.
-
في أي عام بدأ استخدام لغات التجميع على نطاق واسع؟
في عام 1955م.