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

   

abbadi
:: مهندس ::
تاريخ التسجيل: Jun 2004
الدولة: فلسطين
المشاركات: 6
نشاط [ abbadi ]
قوة السمعة:
قديم 04-07-2004, 11:43 AM المشاركة 1   
attension برنامج الاسمبلي



اناعلى استعداد حل كافة الاسئلة في لغة الاسمبلي ان شاء الله
عاى من يؤيد حل لاي برنامج بلغة الاسمبلي او ++c
عليه كتابة السؤال الي الجواب انشاء الله في غضون 3ايام ان شاء الله


فهد المنصور
:: مؤسس موقع القرية الالكترونية ::
تاريخ التسجيل: Feb 2004
المشاركات: 8,001
نشاط [ فهد المنصور ]
قوة السمعة:
قديم 04-07-2004, 12:08 PM المشاركة 2   
افتراضي


السلام عليكم ..

ارحب بك اخي abbadi في المنتدى وان شاء الله نرى منك دائما مشاركات متميزه ..

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

انا بالنسبه للأعضاء الطلاب فربما يأتي عرضك متأخرا قليلا .. لانه جاء بعد نهاية الفصل الدراسي ..



:can:

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

abbadi
:: مهندس ::
تاريخ التسجيل: Jun 2004
الدولة: فلسطين
المشاركات: 6
نشاط [ abbadi ]
قوة السمعة:
قديم 05-07-2004, 09:47 AM المشاركة 3   
افتراضي


السلام عليكم :
انا الطالب عبدالله عبادي من فلسطين
ادرس برمجة الحاسبات في جامعة النجاح الوطنية
ولي اهتمامات الكترونية(متواضعة)
بالنسبة للطلاب
يمكنني مساعدتهم في الفصل الصيفي
ويمكنني مساعدتكم في برمجة المعالجات الدقيقة انشاء الله


رؤى
:: عضو ذهبي ::
تاريخ التسجيل: Feb 2004
المشاركات: 371
نشاط [ رؤى ]
قوة السمعة:
قديم 05-07-2004, 11:18 AM المشاركة 4   
افتراضي


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


Razan
:: مهندس ::
تاريخ التسجيل: Jun 2004
المشاركات: 17
نشاط [ Razan ]
قوة السمعة:
قديم 05-07-2004, 11:25 AM المشاركة 5   
افتراضي


كاتب الرسالة الأصلية : رؤى
اهلا وسهلا بك أخي الكريم ..
لدي اقتراح بسيط ..
لما لا تبدأ في شرح مبسط عن لغة الاسمبلي او كما يسميها البعض (لغة التجميع) وأمثلة بسيطة عنها .. فلربما يكون ذلك بداية طيبة للذين لسيت لديهم فكرة عن هذه اللغة ؟!
وأنا أيضا أساندك الرأي ...

تحياتي و بالتوفيق


abbadi
:: مهندس ::
تاريخ التسجيل: Jun 2004
الدولة: فلسطين
المشاركات: 6
نشاط [ abbadi ]
قوة السمعة:
قديم 07-07-2004, 09:41 AM المشاركة 6   
افتراضي


السلام عليكم
اسف على التاخير

لكنني كنت مشغولا
في اعداد مدخل الى لعة الاسمبلي
ارجو ان يحووز على رضاكم:




تعلمنا من الكتب ومن السادة الدكاترة ان البرنامج هو سلسلة من
التعليمات تعطى للحاسب ليقوم بعمل معين . ايضا تعلمنا ان الدوائر
الالكترونية للحاسب تنفذ عدد محدود من التعليمات مثل جمع عددين او طرحهما
او التأكد ان ناتج عملية هو صفر او نقل بيانات من جزء في الذاكرة
الى اخر . طبعا هذه التعليمات التي يتعامل معها الحاسب مباشرة تسمى
لغة الالة Machine Language . طبعا تعليمات هنا عبارة عن 0 و 1
الواحد يعتبر شحنة كهرباء والصفر ايضا شحنة كهرباء لكن الفرق
بينهما مقدار الشحنة على ما اعتقد ان الواحد عبارة 4.5 فولت
والصفر عبارة عن 2.5 فولت طبعا كل هذا بداخل الدوائر الكهربية
للحاسب . تتميز هذه اللغة بأنها سريعة وقوية حيث تتعامل مع جميع
اجزاء الحاسب مباشرة دون وسيط ولكن يعيبها انها صعبة ومعقدة وتحتاج
زمن اطول في كتابة البرامج بها . طبعا لو كان في خطأ في البرنامج تعالى
نبحث مع بعض وسط الوحايد والاصفار نشوف اي صفر باشا او واحد بيه
عنده الخطأ يدينا ويديكم طول العمر ان شاء الله .
لذلك ظهرت لنا لغة التجميع فبدلا من ان نكتب الوحايد والاصفار
استبدل ذلك بمجموعة من التعليمات مثل MOV او ADD راجع المثال التالي
ولاحظ الفرق :
كود:

لغة عالية المستوى
PRINT "A"




كود:
لغة التجميع
MOV dx , 41h
MOV ah , 2
int 21h



كود:
لغة الالة بالنظام الثنائي

101110100100000100000000
1011010000000010
1100110100100001



شئ اخر معظم الحاسبات الحديثة تتألف من مستويين او اكثر
ايضا توجد الات بستة مستويات . == ماذا يعني هذه الكلام ؟

المستوى الاول Digital logic
وهذا المستوى يشمل الترانزستورات والبوابات المنطقية والدوائر الالكترونية .



المستوى الثاني Micro architecture
في هذا المستوى نجد اجزاء الحاسب الالي مثل المسجلات التي تعتبر
وحدات ذاكرة سريعة ومؤقتة داخل وحدة المعالجة المركزية
ووحدة الحساب والمنطق التي تنفذ العمليات الحسابية البسيطة .
بالاضافة مسارات البيانات التي تتدفق من خلاله المعلومات بين
المسجلات ووحدة الحساب والمنطق . للعلم ان في بعض الالات يتحكم في مسار
تنفيذ البرامج برنامج يسمى Micro program ويقوم بعمل وحدة التحكم
في معالجات اخرى .



المستوى الثالث Instruction Set Architecture
يختص هذا المستوى بالاوامر التي يمكن ان ينفذها الحاسب وتختلف هذه الاوامر
من حاسب لاخر .



المستوى الرابع Operating system machine
هذا المستوى يعتبر مهجن لان معظم التعليمات الموجودة في المستوى السابق موجودة
في هنا ايضا . بالاضافة الى مجموعة من التعليمات الجديدة تقوم بتنظيم الذاكرات
المختلفة وطريقة التعامل معها . التعليمات والميزات الجديدة تنفذ بواسطة مفسر
يعمل على المستوى الثالث اما التعليمات المتشابهة مع تعليمات المستوى الثالث
فتنفذ مباشرة بواسطة Micro program او CU وحدة التحكم هذا يعني ان اي جزء
من تعليمات المستوى الرابع تنفذ بواسطة micro program والباقي ينفذ بواسطة
الحاسب الالي .




المستوى الخامس Assembly language
المستويات السابقة لا يتعامل معها المبرمج مباشرة وانما هى لتشغيل المفسرات
والمترجمات وتجهيز الحاسب للتعامل مع المستويات العليا . هذه المترجمات والمفسرات
تكتب بواسطة مبرمجي نظم او من هم يقوموا بكتابة نظم التشغبل .
المستوى الخامس وما فوقه هي للبرامج التطبيقية وحلول المسائل ايضا لغات الالة
للمستويات 1 و 2 و 3 تكون رقمية اي ان البرامج المكتوبة عبارة عن سلسة من الارقام .
بدء من المستوى الرابع اللغات تكتب بصورة نصية . المستوى الخامس هو لغة التجميع
التي هى عبارة عن تمثيل رمزي للغة الالة وهذا المستوى يسمح للمبرمجين بكتابة برامج المستويات 2 و 3 و 4 في شكل رموز او نصوص البرامج المكتوبة بلغة التجميع يتم تحويلها الى المستويات 2 و 3 او 4 البرنامج الذي يقوم بالتحويل من لغة التجميع الى لغة الالة يسمى Assembler .



المستوى السادس
يتكون من لغات تستخدم للبرامج التطبيقية او كما تسمى لغات المستوى العالي
مثل C++ و Basic و JAVA البرامج المكتوبة بهذه اللغات تحول الى المستوى الرابع
او الخامس بواسطة محولات تسمى مترجمات Compilers احيانا يكون هناك مفسرات في هذا المستوى Interpreters لاغراض معينة .



ماذا يعني كل مل سبق ان صممت الحاسبات كسلسلة من المستويات كل مستوى مبني
على سابقاته كل مستوى يتميز بالعمليات التي ينفذها والكائنات التي يتعامل
معها .. بتصميم الحاسبات بهذا التنظيم والتدرج يكون بإستطاعتنا تقليل
التعقيدات واخفاء التفاصيل الدقيقة .

يعني بالعربي الواحد يعرف حدوده فين وتبع اي مستوى علشان الواحد بيخلف على
البريستيج بتاعه بدل ما الواحد روح على مستوى يرد عليه انت رايح فين يااستاذ
يبقى الواحد في اللحظة دي يروح ....
بسيطة ان شاء الله .....

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

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

قبل الدخول والغوص في تعليمات اللغة تعالوا نناقش
التنظيم البرمجي للمعالج 8086 وهو المعالج الذي بنى عليه جميع معالجات شركة انتل بمعنىاي تعليمة خاصة بهذا المعالج تصلح لاي معالج اعلى منه من شركة انتل

اول شئ لابد التكلم عنه هو المسجلات .

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

مسجلات بيانات :
ويتم فيها التعامل مع البيانات من حيث التخزين واجراء العمليات الحسابية والمنطقية .
مسجلات عناوين :
ويتم فيها تخزين العناوين المختلفة .
مسجلات الحالة :
وهو يحتوي على حالة المعالج بعد تنفيذ امر محدد .

يحتوي المعالج على 14 مسجل وسوف اقوم بشرح اسماء ووظيفة كل مسجل .

=== مسجلات البيانات ===
===AX , BX , CX , DX ===
يتم استخدام هذه المسجلات الاربعة في التعامل مع البيانات داخل المعالج
ويمكن للمبرمج التعامل مباشرة مع هذه المسجلات .
بالرغم من ان المعالج يستطيع ان يتعامل مع بيانات الذاكرة الا ان التعامل
مع المسجلات يكون اسرع بكثير من التعامل مع الذاكرة بالتالي نفضل دائما
التعامل مع المسجلات لسرعتها وهذا سبب زيادة عدد المسجلات في المعالجات الحديثة .


** جميع المسجلات السابقة بحجم 16 BITS .
** يمكن التعامل مع كل من هذه المسجلات على انه وحدة واحدة بحجم 16 BITS
او على وحدتين كل وحدة بسعة بسعة 8 BITS ااحداهما العليا HIGH والثانية
المنخفضة LOW .

** مثلا يمكن التعامل مع المسجل AX على انه مسجل 16 BITS او التعامل
مع النصف العلوي AH على انه مسجل 8 BITS او المنخفض AL بحجم 8 BITS .
بالمثل مع المسجلات BX - CX - DX .
بالتالي يصبح لدينا 8 مسجلات من النوع 8 BITS او 4 من النوع 16 BITS .

تعرف المسجلات الاربعة السابقة بأنها ذات استخدامات عامة بحيث يمكن استخدامها
في اي استخدامات عامة الا ان لكل مسجل استخداما خاصا .


## المسجل AX
يعتبر المسجل AX هو المسجل المفضل للاستخدام في عمليات الحساب والمنطق ونقل البيانات والتعامل مع الذاكرة وعمليات الادخال والاخراج . واستخدامه يولد برامج اقصر ويزيد من كفاءة البرنامج . عموما يتم التعامل مع المسجل AX على انه اهم المسجلات الموجودة في المعالج .

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

المسجل CX
يتم استخدام المسجل CX كعداد للتحكم بعدد مرات تكرار مجموعة محددة
من التعليمات ... كذلك يتم استخدامه في تكرار عملية دوران مسجل لعدد
محدد من المرات .
المسجل DX
يتم استخدامه في عمليات الضرب والقسمة كذلك يتم استخدامه كمؤشر لعمليات الادخال
و الاخراج .


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

يتبع..........

في الختام اود معرفة ارائكم في الدروس لان ذلك يهمني جدا ...


رؤى
:: عضو ذهبي ::
تاريخ التسجيل: Feb 2004
المشاركات: 371
نشاط [ رؤى ]
قوة السمعة:
قديم 07-07-2004, 01:24 PM المشاركة 7   
افتراضي


abbadi
شكرا لك على هذا الموضوع الغني والذي أضاف لمعلوماتي الكثير

ملاحظاتي ..
حاليا .. لا تذكر .. سوى رجاء خاص بأن تذكر المصطلحات بالعربية والانجليزية متى ما أمكن ذلك

وان شاء الله لي عودة مع هذا الموضوع والذي يبدو انه ممتع ..

قبل ان نبدأ
هل بالامكان ان تزودنا بالمفسر لهذه اللغة ..
وايضا سؤال ثاني .. ما هو اسم برنامج Editor الذي يستخدم لكتابة البرنامج ؟؟
واذا بالامكان تزودنا به ايضا ..


الصورة الرمزية علي الشريف
علي الشريف
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2004
الدولة: مصر
المشاركات: 241
نشاط [ علي الشريف ]
قوة السمعة:
قديم 10-07-2004, 03:29 AM المشاركة 8   
افتراضي


السلام عليكم ورحمة الله وبركاته
جزاك الله كل خير واتمني ان تواصل الشرح واتمني لك التوفيق



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