برمجة:أسمبلي

من ويكي الكتب
اذهب إلى: تصفح، ابحث
Wikipedia-logo-v2.svg اقرأ نصا ذا علاقة بلغة أسمبلي، في ويكيبيديا.

لغة اسمبلي (إنجليزية Assembly language)، هي الصيغة السهلة القراءة للبشر المقابلة للغة الألة التي تشكل الأوامر التي ينفذها حاسوب بتصميم ما. فلغة الآلة عبارة عن تتابع من البتات (bits) تمثل عملية حاسوبية أو امر للحاسوب ، تصبح أسهل للقراءه عندما تستبدل برموز تعبر عنها .

مثال[عدل]

حاسوب بوحدة معالجة مركزية تتبع تصميم اجهزة x86/IA-32 يقبل الأمر الآتي (بلغة الآلة):

10110000 01100001

اما للمبرمجين ، فانه من الأسهل تذكر وفهم الصيغة المقابلة لهذا الامر المكتوبة بلغة اسمبلي وهي :

mov  al, 0x61

والتي تجعل الحاسوب ينقل قيمة 61 بالنظام الست عشري للعد (91 باللنظام العشري) إلى خانة وحدة تخزين في وحدة المعالجة المركزية اسمها al. فـ mov هي اختصار لكلمة move التي تعني "حرّك" او "انقل" ، ومجموعة من المدخلات تتبع الأمر مفصولة عن بعضها بفاصلة(,) ، هي مثال على الشكل الشائع لأوامر لغة اسمبلي.

كيف نبدأ[عدل]

العدّة والعتاد[عدل]

ما يلزم لتبدأ في كتابة برامج أسمبلي هو محرر نصوص بسيط جدا ، في أنظمة يونكس ولينوكس يمكنك استخدام vi ، gedit ،kate ، kwrite ، emacs . أو أي محرر يخزن النصوص plain text ، في أنظمة ويندوز ، يمكن استخدام edit عن سطر الأوامر أو notepad .

حسنا ، المحرر الهدف منه الكتابة فقط ، وليصبح لديك برنامج بلغة أسمبلي تحتاج إلى ترجمان ، ليترجم النص الذي كتبته بلغة أسمبلي إلى لغة الحاسوب الرقمية ، في الحقيقة هناك العديد من الترجمانات ، منها nasm ، tasm ، وفي أنظمة يونكس هناك الأمر as القياسي وفي أنظمة لينوكس هناك gas ، كما أن هناك tasm من بورلاند ومن ميكروسوفت هناك masm.

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

برمجة أسمبلي للأجهزة بتصميم x86[عدل]

.... ، إضغط تحرير لتقوم بمشاركة العالم بمعارفك ... فالجميع يمكنه العطاء ، ولا أحد يملك المعرفة الكاملة ! من أجل إنترنت عربية ذات قيمة معرفية !