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

Automatic control , PLC , Electronics , HMI , Machine technology development , Arabic & Islamic topics , Management studies and more
 
الرئيسيةالبوابة*مكتبة الصوراليوميةس .و .جبحـثالتسجيلقائمة الاعضاءالمجموعاتدخول

شاطر | 
 

 أساسيات البرمجة بلغة الأسمبلى : 3- الفكرة الرئيسية لسبب البرمجة بلغة الأسمبلى

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
F.Abdelaziz
عقيد
عقيد


عدد الرسائل : 639
تاريخ التسجيل : 20/05/2009

مُساهمةموضوع: أساسيات البرمجة بلغة الأسمبلى : 3- الفكرة الرئيسية لسبب البرمجة بلغة الأسمبلى   الثلاثاء 12 أكتوبر 2010 - 17:50

أساسيات البرمجة بلغة الأسمبلى

3- الفكرة الرئيسية لسبب البرمجة بلغة الأسمبلى

ما الذى تقوم بعمله البرامج وكيف نطورها :

الأفكار الرئيسية فى برمجة الميكروكونترولر ( أو أى جهاز يعمل بمبدأ الكومبيوتر) هى :

1- الميكروكونترولر لديه مجموعة تعليمات محددة instruction set يمكنه التعرف على كل تعليمة وتنفيذها

2- البرنامج الذى يقوم الميكروكونترولر بتنفيذه هو قائمة من التعليمات ماخوذة من مجموعة تعليماته يقوم بقراءتها بالنظام الثنائى binary من ذاكرة البرنامج الخاصة به . يسمى البرنامج فى هذا الشكل (الهيئة) بشفرة (كود) الماكينة (الالة) machine code .

3- لتنفيذ ذلك يعمل الميكروكونترولر بلا هوادة من خلال تعليمات البرنامج فيفعل تماما ما تخبره به كل تعليمة , يفعله لا أكثر ولا أقل فيما عدا عند حدوث تحويل مؤقت بالمقاطقة (الاعتراض) .

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

مشكلة البرمجة والتوافق (ايجاد الحل الوسط) مع الأسمبلى :

مشكلة البرمجة ملخصة فى الشكل التالى :





فنحن كبشر نعبر عن أفكارنا بطريقة معقدة وغالبا ما يكون تعريفها بأشكال لغوية غير محددة المعالم .
الميكروكونترولر يقرأ ويفهم النظام الثنائى ويستجيب بشكل دقيق لتعليمات دقيقة . فهو منطقى إلى أقصى الحدود ويفعل تماما ما يؤمر به .
مع هذا الفرق اللغوى كيف يمكن للمبرمج كتابة برامج الميكرومونترولر؟
هناك ثلاثة طرق تفرض نفسها لسد هذه الفجوة وهى :
1- أن يتعلم الانسان لغة الآلة .
وهذا ما كان يستخدمه المبرمجين أحيانا فيما مضى .
بمشقة يكتب كل تعليمة بشفرة الكود الثنائية حتى يستطيع الميكروكونترولر من قراءتها .
وهذا بطىء للغاية وممل وعرضة للأخطاء ولكن على الأقل فان المبرمج يستجيب مباشرة لحاجات وقدرات الميكروكونترولر .
2- استخدام لغات البرمجة ذات المستوى المرتفع .
وهذا كما لو كنا بطريقة ما نطلب من الميكروكونترولر (الكومبيوتر) تعلم لغتنا .
فى لغات البرمجة ذات المستوى المرتفع تكتب التعليمات بشكل يرتبط بإدراكنا للغتنا .
فى هذه الحالة نحتاج إلى برنامج كومبيوتر آخر وهو إما مجمع compiler أو مفسر (مترجم interpreter ( يقوم بتحويل برنامجنا إلى كود لغة الآلة الذى يفهمها الميكروكونترولر.
بهذه الطريقة يستمتع المبرمج بوقته فى البرمجة كما يكتب برامج متطورة .
والنتيجة إن المبرمج ينفصل عن إمكانيات الميكروكونترولر وقد يؤدى إلى برنامج غير فعال نسبيا من حيث استخدام الذاكرة وسرعة التنفيذ .
3- استخدام لغة الأسمبلى .
وهذا هو الوضع الوسط .
كل تعليمة من مجموعة التعليمات تعطى تذكير (تفكير –مفكرة) mnemonic . وهى كلمة مكونة من ثلاثة أو أربعة حروف والتى يمكن استخدامها للتمثيل المباشر لتعليمة واحدة من مجموعة التعليمات .
عندئذ يكتب المبرمج البرنامج مستخدما تعليمات بمفكرات . يجب على المبرمج التفكير بمستوى الميكروكونترولر كما لو كان يعمل مباشرة بتعليماته ولكن على الأقل فإن المبرمج لديه مفكرات mnemonics لأستخدامها أفضل من التعامل بشفرة لغة الالة .
يوجد برنامج كومبيوتر خاص يسمى الأسمبلر المتقاطع ويختصر بالأسمبلر Cross-Assembler يعمل على الكومبيوتر الشخصى ويحول الكود من الأسمبلى إلى كود لغة الآلة التى يفهمها الميكروكونترولر .
ونظرا لأن الكومبيوتر الشخصى هو الذى يقوم بالتحويل من لغة الأسمبلى إلى لغة الالة فيمكن إضافة فوائد أخرى للعملية .
فعلى سبيل المثال يمكن للأسمبلر مراقبة مدى انشغال الحيز المخصص للذاكرة فى ذاكرة البرنامج كما يمكنه قبول علامات labels الأرقام ومواضع الذاكرة مما يؤدى إلى تسهيل مهمة المبرمج إلى حد كبير .





الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
metwally.mustafa
فريق أول
فريق أول


عدد الرسائل : 4214
العمر : 30
الموقع : Egypt
العمل/الترفيه : automation engineer
تاريخ التسجيل : 12/01/2009

مُساهمةموضوع: رد: أساسيات البرمجة بلغة الأسمبلى : 3- الفكرة الرئيسية لسبب البرمجة بلغة الأسمبلى   الأربعاء 13 أكتوبر 2010 - 5:56

جزاكم الله خيرا اخى العزيز

_________________
I am so far behind, I think i am first
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
أساسيات البرمجة بلغة الأسمبلى : 3- الفكرة الرئيسية لسبب البرمجة بلغة الأسمبلى
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى التحكم الآلي والإلكترونيات :: منتديات التحكم الآلي والإلكترونيات :: منتدى الميكروكنترولر Micro Controller-
انتقل الى: