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

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

الصورة الرمزية haidar ayad
haidar ayad
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2011
الدولة: العراق
المشاركات: 178
نشاط [ haidar ayad ]
قوة السمعة:0
قديم 29-12-2013, 03:37 PM المشاركة 1   
yel أريد شرح هذا الكود لـلمعالج 8086 رجاءا محتاجه Twitter FaceBook Google+



السلام عليكم

اريد شرح كود حل السؤال نقطة (A) لأني لم ادرس هذا النوع من المعالجات وجديد في أوامره ... ومحتاجه جدا جدا رجاءا ...



اعلانات

wassim-net
:: مهندس ::
تاريخ التسجيل: Nov 2009
المشاركات: 25
نشاط [ wassim-net ]
قوة السمعة:0
قديم 30-12-2013, 01:02 PM المشاركة 2   
win


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

255/x

اي مربع عدد كيفما كان مقسوم على العدد 255

لكن تم الارشاد في التمرين ان العدد x ليس في اي عدد من البت bits بل حددو لك جيدا انه سيكتب في 8 بتات ( 8bits ) وادا لم تكن تعرف ماهو البت ؟ فسهل جدا اخي الكريم
البت هو اصغر عنصر داكراتي يمكنك استخدامه فواحد بت لا يمكنه ان يأخد سوى واحد منطقي او صفر منطقي اي ان الحالات التي ياخدها فهي 1 او 0 لدلك فأدا ورد في التمرين ان x سيكتب في 8 بتات فمثاله لكي تفهم :
01011010
حسنا اخي الان نمر الى تتمة التمرين ... تمر دكر ان العدد x موجب اي signé
(ملاحظة : الاعداد السالبة يرمز لها بــunsigned)
......حسنا
يقول التمرين ان العدد x سيخزن في روجيستر اسمه CH و ما يجب معرفته عن الروجيستر CH
هو التالي :

C : وتعني اسم الاول للروجيستر و يوجد منها تلات انواع اخرى ...هناك AX BX DX وال C هو الدي استخدمنا قبل قليل ومعناه COUNTER وهو يخزن 16 بت اما حرف H فهو يعني high والاسم الكامل له هو CH وهو يأخد الجهة القوية لعدد ما .....ملحوظة هناك ايضا نفس الروجيتر لكن بدلا من H تجد L والفرق بينهم ان H كما قلنا يأخد الجهة القوية للعدد و L يأخد الجهة الضعيفة للعدد ولاتسنى اخي الكريم ان CH و CL يخزنو ن فقط 8 بت ادا كخلاصة لكي تفهم :

في المجمل هناك 4 روجيسترات 16 بت اسمهم على التوالي
AX
BX
CX
DX

وكل روجسير يحتوي على قسمين
AX=AH+AL
16 بت تساوي 8بت زائد 8 بت
وقس على دلك الروجيسترات BX CX DX
مثال لكي تفهم :
لدينا العدد بالبيناري Binary 0111110101110101
في 16 بت
وسنطبق عليه الامر Mov AX,0111110101110101
فسيقوم تلقائيا المعالج بوضع الجهة الضعيفة للعدد الدي وضعنا في AL والجهة القوية في AH
اي
AL= 01110101
AH=01111101
والمقصود بالجهة الضعيفة او الجهة القوية فهو تقسيم العدد على نصف الداكرة ادا كان العدد في 16 بت فنصف سيكون في 8 والآخر في 8 و ادا كان في 8 بتات فالنصف هو اربعة و قس على دلك

تتمة التمرين
ss sp
يسمون pointeurs d'adresse

في التمرين قال لك SS و SP سيأخدون على التوالي القيمتين 1000H و 2000H
ملحوظة : H هنا تعني هيكس اي النظام 16 عشر (سداسي عشر)

اي :

MOV SS,AX
او
MOV SS,1000h

ادا لم تفهم جيدا فضع رد و ان شاء الله ساجيب
للعلم فأنا شرحت لك فقط ما في التمرين خصوصا السؤال اي a كما طلبت
ادا واجهت صعوبة في الاسمبلي فليس هناك مشكل

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

الصورة الرمزية haidar ayad
haidar ayad
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2011
الدولة: العراق
المشاركات: 178
نشاط [ haidar ayad ]
قوة السمعة:0
قديم 30-12-2013, 03:23 PM المشاركة 3   
افتراضي


رحم الله والديك استاذي العزيز والحقيقة اذا احتاجيت في سؤال سأرجع لك ان شاء الله ...

وعندي استفسارات :
أولا : هل يجوز النقل مباشرة الى SS كما فعل في SP ؟

ثانيا : لماذا ينقل في (CL or AL) وليس (AH or AX ...CH or CX) ؟



wassim-net
:: مهندس ::
تاريخ التسجيل: Nov 2009
المشاركات: 25
نشاط [ wassim-net ]
قوة السمعة:0
قديم 30-12-2013, 10:40 PM المشاركة 4   
x4


أخي الحبيب بالنسبة ل ss و sp يسمون باللمؤشر اي pointeur
pointer بالانجليزي و غرضهم هو حمل عنوان اي adresse وبالتالي فدورهم ليس كدور
الروجيسترات التي سبق ان قمت بتوضيح اهميتها في الرد اعلاه ادا كان الروجيستر يخزن اعداد او محتوى روجيستر آخر ..الخ ف sp وss يحملون العنوان فقط * adresse

وارجوا ان تسامحني حبيبي الغالي ادا قصرت في الشرح لك للأني في طور تعلم الاسمبلي للأني في السنة التانية الهندسة / ingenierie des automatismes industriels

بالنسبة للسؤال التاني مسألة النقل في cl او غيره فهي مجرد مسألة اختيار للمبرمج
ادا احتاج 8 بتات للتخزين ياخد XL و X يعني A OR B OR C OR D او XH

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

و يستعمل كمخزن لخارج قسمة عددين

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


wassim-net
:: مهندس ::
تاريخ التسجيل: Nov 2009
المشاركات: 25
نشاط [ wassim-net ]
قوة السمعة:0
قديم 30-12-2013, 10:42 PM المشاركة 5   
Post


آآآآآآآآآآآآآآآه نسيت سامحني اخي ههه لم اقرأ جيدا السؤال الاول

اجل اجل تستطيع النقل فيهم فهم من نفس النوع


الصورة الرمزية haidar ayad
haidar ayad
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2011
الدولة: العراق
المشاركات: 178
نشاط [ haidar ayad ]
قوة السمعة:0
قديم 31-12-2013, 01:31 PM المشاركة 6   
افتراضي


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


الصورة الرمزية haidar ayad
haidar ayad
:: مهندس متواجد ::
تاريخ التسجيل: Nov 2011
الدولة: العراق
المشاركات: 178
نشاط [ haidar ayad ]
قوة السمعة:0
قديم 02-01-2014, 09:13 AM المشاركة 7   
افتراضي


استاذي العزيز عندي سؤال .... هنا في حساب الزمن .....فانه في المثال الاول حسبه بشكل صحيح ....بينما في المثال الثاني تركه ...لماذا ؟

1


2

إضافة رد

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

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

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


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

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