لغة التجميع Assembly وأهم ميزاتها وعيوبها

مدخل إلى لغة Assembly:



تعد أقوى لغات للتعامل مع العتاد، وهي ذات مرونة عالية للوصول إلى الموارد.

ولكي نبرمج يجب أن يكون هناك معرفة كاملة بتركيب المعالج والنظام و الذواكر و المسجلات، حيث يتم التخاطب مباشرة مع الحاسب ومكوناته المادية.

إن الحاسب يتعامل فقط معىلغة الآلة وهي اللغة الوحيدة التي يفهمها الحاسوب (هي لغة ذات مستوى منخفض)، أما إذا أردنا كتابة  برنامج بلغة عالية المستوى فإننا بحاجة إلى تحويله إلى شكل يفهمه المعالج وهذه هي مهمة المفسر Compiler، بالتالي Compiler في اللغات العالية المستوى يحول كل تعليمة إلى مقابلاتها لتنفيذها على المعالج، أما لغة التجميع Assembly فهي ليست لغة منخفضة المستوى، وليست لغة عالية المستوى، إنما هي لغة بين لغة عالية المستوى ولغة منخفضة المستوى، وهي تحتاج إلى تحويل تعليماتها إلى شكل يفهمه الحاسب وهذه هي مهمة لغة التجميع، إذاً Assembly يحول كل تعليمة يلغة التجميع إلى ما يقابلها بلغة الآلة.

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

لماذا لا نبرمج بلغة الآلة؟

تعليمات لغة الآلة هي عبارة عن أرقام مخزنة في الذاكرة وكل تعليمة يميزها كود تشغيل على سبيل المثال:

BX , Add AX يقابلها بلغة الآلة 03C3.

أهم ميزات وعيوب لغة Assembly:



ميزات لغة التجميع Assembly:

  • السيطرة الكاملة على وحدة المعالجة المركزية وبالتالي سرعة عالية (مستوى منخفض في الوصول للحاسب)، حيث اللغات العالية المستوى (C , Pascal) أبطأ وذلك لأنها تستخدم طرائق قياسية وكتابة المتحولات.
  • ليست حساسة لتعابير الكتابة.

  عيوب لغة التجميع Assembly:

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

إرسال تعليق

أحدث أقدم