مدونة علم البرمجة والحاسوب
من حقك ان تتعلم اكثر

دورة الاسمبلي : الدرس الاول ما هي الاسمبلي - What is the assembly

 
ماهي الأسمبلي :-
-------------------
في قديم الزمان أيام بدايات الكمبيوتر كانت برمجة الكمبيوتر تتم بواسطة لغة الأله Machine Language أختصاراً ML ( لغة الآله هي اللغه التي تفهمها الآله مباشرة دون الحاجة الى تفسيروهي تخزن بصورة ثنائبة [ تركيبة من الأصفار والوحايد] في الذاكرة على شكل تعليماتووسائط تأخذ كل واحد منها عادة مقدار 8بت=ا بايت ) وكان هذا النوع من البرمجة صعبجداً عندها طور المبرمجون أول لغة برمجة وهذه اللغه فكرتها بسيطة جداً حيث أنه بدلأن تكتب رموز الآله يتم كتابة كلمات مختصره تدل على نوع العمليه مثال ( MOV,ADD,CMP ) ثم ببرنامج بسيط يتم تحويل هذه الشفرة الى لغة الآله بأستخدام تخطيطواحد-الى-واحد أي أن كل سطر أو عبارة في الأسمبلي تحول الى تعليمة واحدة مقابله فيلغة الآله (مثال بدل كتابة 011000000000101 يتم كتابة mov al,5 ) يعرف البرنامجالذي يقوم بعملية التحويل بالأسمبلر Assembler ، علماً بأن هناك عدة أنواع منالأسمبلر كل نوع يختص بتقنية معينة وبعائلة معينه من المعالجاتونحن هنا بصدد تعلم البرمجة بالأسمبلي للمعالجات المبنية على تقنية IBM-PC والمنتجة من شركة أنتلوهي العائلة 86×80 ويرمز لها أختصاراً X86 وهي تضم :
( 8086 / 8088 / 80186 / 80286 )
لمعالجات ال 16 بت و ( 80386 / 80486 / 80586=بنتنيوم1 / 80686=بنتنيوم2 / 80786=بنتنيوم3 / 80886=بنتنيوم4 ) لمعالجات ال 32 بت وسوف أتطرق في دروس متقدمةالى المعالج أتنيوم 64 بت المبني بتقنية جديده كلياً لمن يرغب بمعرفة مسبقة لهذاالمعالج الجديد كذلك سوف أتطرق بأذن الله الى الكروس أسمبلر وهي مجموعة برامج خاصةمصممه للتحويل من لغة أسمبلي لعائلة معالجات معينة الى عائله أخرى . تعريف لغة الأسمبلي الأسمبلي هي لغة برمجة تتكون من سلسلة من التعليمات المتتابعةكل تعليمة فيها تحول الى تعليمة مقابلة بلغة الآله . تعريف الأسمبلر :-
-----------------
الأسمبلر هو برنامج يقوم بتحويل التعليمات المكتوبةبلأسمبلي الى لغة الآله . لماذا أريد أستخدام الأسمبلي :-
---------------------------------
بتعلمك لغة الأسمبلي فأنك تكشف النقابعن الأسرار المختفيه وراء الكمبيوتر وتصبح قادراً على الفهم تماماً كيف يعملالمعالج وكيف يعمل البرنامج وبذلك تزيد خبرتك كمبرمج وبالطبع فأن الأسمبلي أقوى مناللغات العالية المستوى في التعامل مع العتاد وتعطيك مرونة عالية وقدرة وصول الىأشياء لم تكن تستطيع الوصول اليها من قبل ، كذلك هناك نوعيات من البرامج لايمكن الابرمجتها بالأسمبلي مثل الدرايفات(سواقات) الأجهزه ، كذلك فأن الأسمبلي يعطيط برامجسريعة جداً ، وبالطبع فأن بناء برنامج متطور بالأسمبلي أشبه بحفر حفرة بواسطةالملعقه فالبرغم أنك تحفر الا أنك أنتاجيتك قليله ولكن من المحبذ جداً برمجة بعضالدوال و الأحزاء من البرامج بالأسمبلي وبقية البرنامج بواسطة لغة عالية المستوىمثل السي++ .

من انا ؟