قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 12-10-2010, 11:48 PM المشاركة 1   
افتراضي أساسيات البرمجة بلغة الأسمبلى : 3- الفكرة الرئيسية لسبب البرمجة بلغة الأسمبلى Twitter FaceBook Google+



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



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


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

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

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

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

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


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

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

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





فنحن كبشرنعبر عن أفكارنا بطريقة معقدة وغالبا ما يكون تعريفها بأشكال لغوية غير محددة المعالم .
الميكروكونترولر يقرأ ويفهم النظام الثنائى ويستجيب بشكل دقيق لتعليمات دقيقة . فهو منطقى إلى أقصى الحدود ويفعل تماما ما يؤمر به .
مع هذا الفرق اللغوى كيف يمكن للمبرمج كتابة برامج الميكرومونترولر؟

هناك ثلاثةطرق تفرض نفسها لسد هذه الفجوة وهى :

1- أن يتعلم الانسانلغة الآلة .

وهذا ما كان يستخدمه المبرمجين أحيانا فيما مضى .
بمشقة يكتب كل تعليمة بشفرة الكود الثنائية حتى يستطيع الميكروكونترولر من قراءتها .
وهذابطىء للغاية وممل وعرضة للأخطاء ولكن على الأقل فان المبرمج يستجيب مباشرة لحاجات وقدرات الميكروكونترولر .

2- استخدام لغات البرمجة ذات المستوى المرتفع .

وهذا كما لو كنا بطريقة ما نطلب من الميكروكونترولر(الكومبيوتر) تعلم لغتنا .

فى لغات البرمجة ذات المستوى المرتفع تكتب التعليمات بشكل يرتبط بإدراكنا للغتنا .

فى هذه الحالة نحتاج إلى برنامج كومبيوتر آخر وهو إما مجمع compiler أو مفسر (مترجم interpreter ( يقوم بتحويل برنامجنا إلى كود لغة الآلة الذى يفهمها الميكروكونترولر.

بهذه الطريقةيستمتع المبرمج بوقته فى البرمجة كما يكتب برامج متطورة .

والنتيجة إن المبرمج ينفصل عن إمكانيات الميكروكونترولر وقد يؤدى إلى برنامج غير فعال نسبيا من حيث استخدام الذاكرة وسرعة التنفيذ .

3- استخدام لغة الأسمبلى .

وهذا هو الوضع الوسط.

حيث كل تعليمة من مجموعة التعليمات تعطى تذكير (تفكير –مفكرة) mnemonic . وهى كلمة مكونة من ثلاثة أو أربعة حروف والتى يمكن استخدامها للتمثيل المباشر لتعليمة واحدة من مجموعة التعليمات .
عندئذ يكتب المبرمج البرنامج مستخدما تعليمات بمفكرات .
يجب على المبرمج التفكير بمستوى الميكروكونترولر كما لوكان يعمل مباشرة بتعليماته ولكن على الأقل فإن المبرمج لديه مفكرات mnemonics لأستخدامها أفضل من التعامل بشفرة لغة الالة .

يوجد برنامج كومبيوتر خاص يسمى الأسمبلر المتقاطع ويختصر بالأسمبلر Cross-Assembler يعمل على الكومبيوتر الشخصى ويحول الكود من الأسمبلى إلى كود لغة الآلة التى يفهمها الميكروكونترولر .
ونظرا لأن الكومبيوتر الشخصى هو الذى يقوم بالتحويل من لغة الأسمبلى إلى لغة الآلة فيمكن إضافة فوائد أخرى للعملية .

فعلى سبيل المثال يمكن للأسمبلر مراقبة مدى انشغال الحيز المخصص للذاكرة فى ذاكرة البرنامج كما يمكنه قبول علامات labels الأرقام ومواضع الذاكرة مما يؤدى إلى تسهيل مهمة المبرمج إلى حد كبير .

اعلانات

الصورة الرمزية saidmsbah
saidmsbah
:: مهندس جيد ::
تاريخ التسجيل: Jan 2009
الدولة: https://t.me/pump_upp
المشاركات: 207
نشاط [ saidmsbah ]
قوة السمعة:0
قديم 13-10-2010, 05:47 PM المشاركة 2   
افتراضي


بارك الله لك وارجو المزيد من العطاء

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية اكزي
اكزي
:: عضو ذهبي ::
تاريخ التسجيل: May 2009
الدولة: المغرب iguizzi06*hotmail.com // www.facebook.com/iguizzi.abdallah
المشاركات: 2,434
نشاط [ اكزي ]
قوة السمعة:143
قديم 14-10-2010, 11:40 PM المشاركة 3   
افتراضي


جزاك الله خيرا


goldfinger2
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2006
الدولة: egypt
المشاركات: 188
نشاط [ goldfinger2 ]
قوة السمعة:0
قديم 08-04-2011, 02:54 PM المشاركة 4   
افتراضي


جزاك الله خيرا


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 08-04-2011, 05:32 PM المشاركة 5   
افتراضي


بارك الله لك وارجو المزيد من العطاء

اخى الكريم

شكرا جزيلا لك


بارك الله فيك

مع تمنياتى بدوام التوفيق


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 08-04-2011, 05:39 PM المشاركة 6   
افتراضي



اخى الكريم

شكرا جزيلا لك

بارك الله فيك

مع تمنياتى بدوام التوفيق


montasr88
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2010
الدولة: jordan
المشاركات: 127
نشاط [ montasr88 ]
قوة السمعة:0
قديم 08-04-2011, 09:32 PM المشاركة 7   
افتراضي


مشكور اخي الكريم...
انا استخدم حاليا لغه الفلوكود لانها توفر الكثير من الجهد والتعب
لكن اتفق معك ان لغه الاسمبلي تقربك اكثر من امكانيات وتفاصيل الميكروكنترولر وبالتالي برنامج دقيق اكتر

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 11:02 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2024