تعرفوا .. ما هي لغة أسمبلي Assembly ومميزاتها

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • تعرفوا .. ما هي لغة أسمبلي Assembly ومميزاتها

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

    اضغط على الصورة لعرض أكبر. 

الإسم:	encyclopedia-%D9%85%D8%A7-%D9%87%D9%8A-%D9%84%D8%BA%D8%A9-%D8%A3%D8%B3%D9%85%D8%A8%D9%84%D9%8A-Assembly.jpg 
مشاهدات:	8 
الحجم:	27.2 كيلوبايت 
الهوية:	55404 تنقسم لغات البرمجة وفقًا لأسلوب كتابتها وتعاملها مع الأجهزة الفيزيائية إلى عدة مستويات، ولكل مستوى منها ميزاته الخاصة وأيضًا تختلف الميزات باختلاف اللغة في نفس المستوى. وتنتمي لغة أسمبلي إلى المستوى المنخفض بين هذه اللغات وذلك لتعاملها المباشر مع الأجهزة الفيزيائية، ولم يتم إهمال هذه اللغة منذ بدايتها حتى الآن وتعد تخصصية جدًا.

    تعريف لغة أسمبلي


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

    مميزات لغة أسمبلي


    إن فهم لغة أسمبلي يجعل المبرمج يفهم أيضًا:
    • كيف تتعامل البرامج مع نظام التشغيل والمعالج والـBios.
    • كيف يتم تمثيل البيانات في الذاكرة والأجهزة الخارجية الأخرى.
    • كيف يمكن للمعالج الوصول وتنفيذ التعليمات.
    • كيفية وصول التعليمات إلى البيانات ومعالجتها.
    • كيف يصل البرنامج إلى الأجهزة الخارجية.

    ومن مزاياها أيضًا:
    • تتطلب ذاكرة أقل ووقت تنفيذ أقل.
    • تتيح تنفيذ وظائف معقدة وخاصة بالأجهزة نفسها
      بشكل أسهل.
    • مناسبة للمهام الصعبة والحرجة والدقيقة.
    • الأكثر ملائمة لكتابة برامج خدمة المقاطعة
      والبرامج المتعلقة بالذاكرة.

    هل برامج لغة أسمبلي قابلة للنقل؟


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

    برنامج أسمبلي


    يتألف برنامج لغة
    أسمبلي من ثلاث أجزاء:
    • جزء خاص بالـData.
    • جزء خاص بالـbss.
    • جزء خاص بالـtext.

    الجزء الخاص بالبيانات Data


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

    الجزء الخاص بالـbss


    وهو الجزء الذي
    يتم تعريف المتغيرات فيه، أي القيم التي ستتغير أثناء التشغيل.

    الجزء الخاص بالنص Text


    وهو الجزء الذي
    يحوي الكود الحقيقي الأساسي للبرنامج، وهذا الجزء يجب أن يبدأ بتعريف global
    _start والذي يخبر النواة أين سيبدأ هذا البرنامج بالتنفيذ.

    شكل تعليمات لغة أسمبلي


    نجد هنا مثالاً لبرنامج يطبع Hello World باستخدام لغة أسمبلي لنظام تشغيل ويندوز 10:

    global _main

    extern _printf


    section .text

    _main:

    push message

    call _printf

    add esp, 4

    ret

    message:

    db 'Hello, World!', 10, 0
يعمل...
X