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