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

من كتب

لغة اسمبلي (انجليزية 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[عدل | عدل المصدر]

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