الفصل الأول
مقدمة
في هذه المحاضرات سنتناول موضوع المعالجات الدقيقة وبرمجتها وسيتم التركيز علي المعالجات المستخدمة
في الأجهزة الشخصية 0001801608 0618002 وهي المعالجات المصنعة بواسطة شركة 0161 والمعالجات
المتوافقة معها. وقد تمت الاستعانة بمجموعة من المراجع التي تغطي هذا الموضوع ولكن تم اعتماد المرجع الأول
و هر كتاب 66 181/4 706 أه 1000ع0192012 200 10918001109 مهقنو0ها 0886010 كمرجع أساسي
تم اللجوء إليه بصورة أساسية في كتابة هذه المادة هذا بالإضافة إلي مجموعة المراجع الأخرى والتي تم
توضيحها في نهاية المادة
يجب الإلمام جيدا بكيفية التعامل مع الأنظمة الرقمية المختلفة وبالذات النظام الثنائي والسداسي
عثري وإجادة التعامل مع العمليات الحسابية المختلنة من جمع وطرح وضرب وقسعة للأرقام
كذاك يجب التعرف علي إحدى لغات البرمجة العليا علي الأقل ويفضل أن تكون إحدى اللفات
التي تستعمل الهيكلة ما 09 5001010100 شل الباسكال والسي ولكن
يمكن بسهولة فهم البرامج بمجزد الإلمام بأي من لغات البرمجة العليا الأخرى. والهدف من ذاك هو
كتابة بعض البرامج من خلال استعراض لغة التجميع ويفضل أن تكون لدينا بعض مهارات البرمجة
أسلوب تدريس المادة
سيتم التدريس باستخدام هذه المادة بالإضافة إلي مجموعة من برامج الكمبيوتر المصاحبة. ويتم ذلك
عن طريق تدريس محاضرة واحدة أسبوعيا بواقع ساعتين للمحاضرة الواحدة. بلإضافة إلي ثلاثة
ساعات عمليه يقوم فيها الطالب بكتابة البرامج المطلوبة في نهاية كل مرحلة. يتم استلام البرامج
أسبوعيا وتقييمها بواسطة الأستاذ ويتم ذاك باستخدام شبكة الحاسوب بالقسم.
كما يتم عمل مجموعة من الاختبارات علي مدار فترة تدريس المادة هذا بالإضافة إلي الانتحان
النهائي في نهاية الفترة المقررة.
محتويات المادة
المادة لمجموعة من الفنصول. كل فصل يمثل وحدة مستقلة ويجب دراسة الفصول ب
حيث ان كل فصل يعتمد عادة علي الفصل السابق له. ويفضل الإجابة عن كل الأسئلة التي تأني في
نهاية كل فصل كما سيتم طلب كتابة مجموعة من البرامج في نهاية كل فصل. وتتمشل النصول في
الفصل الثاني : يتناول المعالجات الدقيقة بصورة عامة والمعالجات المنتجة بواسطة شركة (1019
بصورة خاصة ثم يتعرض للتركيب الداخلي للمعالج 8088 والمسجلات المختلفة به وطريقة التخاطب
الفصل الثالث: يوضح الشكل العام للأوامر في لغة التجميع وتعريف المتغيرات والثوابت بالإضافة إلي
التعرف علي مجموعة من الأوامر الأساسية والتعرف علي الشكل العام للبرنامج واستخدام نداءات
المقاطعة للقيام بعمليات الإدخال والإخراج. في نهاية الفصل يتم كتابة برامج صغيرة وتجربتها.
الفصل الوابع: يتم فيه التعرف علي مسجل البيارق 8695463 7189 وتكّر البيارق بالعمليات
المختلفة وتوضيح حالات الفيضان المحتلفة التي قد تحدث بعد
وحاية جوع
الفصل الخامس: يتم فيه توضيح أوامر التفرع المختلفة وبعدها يتم التعرف علي كيفية تحويل
البرامج الصغيرة من البرامج ذات المستوي العالي 8091898 101/8 490 ويتضمن ذك تحويل
أوامر التفرع والتكرار المختلفة إلى لغة التجميع . بعد ذلك تتم كتابة أحد البرامج الكبيرة نسيياً
وتوضيح كينية تحليل البرنامج إلى مرحلة الكتابة للبرنامج
الفصل السادس: يتناول أوامر الحساب والنطق المختلئة وطريقة استخدامها في التعامل مع المسجلات
ويتضمن ذلك أوامر الإزاحة والدوران. في نهاية الفصل تتم كتابة مجموعة من الإجراءات النرعية
لقراءة وكتابة الأرقام في النظامين الثنائي والسداسي عشري.
الفصل السابع: يتناول الحديث بالتفصيل عن المكدس 55806 وكينية التعامل معه. بعد ذلك
التعرف على طريقة كتابة البرامج النزعية
الفصل الثامن: يتم فيه التعرف علي أوامر الضرب والقسمة واستخدام البرامج الفرعية عن طريق
كتابتها في ملف مختلف. ويتم كتابة برامج فرعية تقوم بقراءة أرقام عشرية من لوحة المفاتيح
الفصل التاسع:
التعرف علي
الفصل العاشو: يتم فيه التعرف علي أوامر التعامل مع النصوص وسلاسل الحروف 8500098
فيه التعرف علي أنماط العنونة المختلفة والمستخدمة في لغة التجميع كما يتم
يقة التعامل مع المصنوفات المختلفة.
الهدف من المادة
في كثير من الأحيان نضطر لكتابة بعض البرامج الخاصة جداً والتي تتعامل مع مكونات النظام من
أجهزة محتلفة وعند الانتهاء من دراسة هذه المادة يكون الطالب قد تعرف علي كيفية التعامل مع
المعالج الدقيق مباشرة ومعرفة ما يدور في المستوى الأدنى للجهاز (161/9-»1-008 ويصبح قادراً علي
كتابة برامج تتعامل مع النظام في أدق تفاصيله كما يصبح بإمكانه تحليل وفهم أي برنامج كتب بلغة
التجميع . ويصبح الطالب جاهزاً لدراسة مادة برمجة النظم 8009/801/01109 51916018
الفصل الثاني
المعالجات وتنظيم الحاسب الشخصي
المتوافقة مع نظام 180/4 على المعالجات من عاثلة المعالج ا1016. في هذا الفصل سيتم عرض عام
للمعالجات من عائلة المعالج 85+ في الجزء الأول حيث يتم التعرف على المعالج 085 مع توضيح المسجلات
المختلفة و استخدامات كل مسجل ثم يتم توضيح عملية تقسيم الذاكرة إلي قطاعات 869/0716015.
تعتمد الحاسبات الشخصية المتوا
ة مع 18 على المعالجات من النوع 1016١ وهي تشمل المعالجات 8085 و
دا و 45 دا و 45د و 485 80 و أخيراً المعلج 88080000 حيث يتم استخدام المعالج لبناء نظام
حاسوب بخصائص محددة كما في حالات استخدام المعالج 80848 لبناء الحاسوب من النوع 50 181/4 و
استخدام المعالج 80185 لبناء الحاسوب المسمى ( 7600100109 006190060 ) 7)ل كما تم بناء النظام ) 87
( 760000109 00020060 مع ظهور المعالج 45 :م
ثم بعد ذلك ونتيجة لأهمية وضع نظم ثابتة ومعرفة للجميع ظهرت أنظمة 5800800 /0085ا) هوا
(.0:ه و ( 58 50100060 ) 5158 وهي أنظمة تستعمل المعالجين 0745م و 40485
مع ظهور المعالج الجديد والمسني 7 ظهرت الحاجة لأنظمة جديدة ذات سرعة عالية فظهرت أنظمة
الناقل المحلي 8506018 808 1008 شل نظام 501 ونظام 888/ا وذلك للاستفادة من الإبكانات
مما يجدر ذكره أن المعالجات من عاذلة |1016 حافظت على التو تصميم المعالجات بحيث يتم استيعاب
وتنفيذ البرامج التي تعت كتابتها لتعمل مع المعالجات القديمة في المعالجات الجديدة بدون مشاكل وهوما
يسمى بتوافقية البرامج /ر000725110 50100206 وهي ميزة كبيرة في التصميم حيث تم الاحتفاظ بالبرامج
القديعة دون أي تعديل مع إمكانية البرامج الجديدة ذات الإمكانات الجديدة والتي لم تكن موجودة في
للمعالج من حيث طول الكلمة 16091 10/080 وأقصي قيمة للذاكرة بالإضافة لبعض الخصائص العامة.
المعالج 0/05 والمعالج فب
قامت شركة 10101 في عام 1978 بطرح المعالج 8086 وهو معالج يتعامل مع كلمة بطول -16
5 (يتم التعايل814-:6
لمرة الواحدة ).بعد ذلك وفي سنة 141/4 تم طرح المعالج 0088 وهو
مشابه للمعالج 60087 من ناحية التركيب الداخلي ولكنه مختلف عنه في التعامل العام
الخارجي حيث يتم فيه التعابل الخارجي يكلم طولها 8-5115
يتعامل المعالج 8086
باستخدام نبضة سريعة وبالتالي فان أداءه افضل (زيادة سرعة النبضة تعنى زيادة التردد
وبالتالي نقصان الزمن اللازم لتنفيذ أمر محدد ويتم تعريف سرعة المعالج بتحديد التردد
الأقصى الذي يعمل به وتقاس وحدة التردد بلليجاهيرتز 1/012).
قامت شركة 1814 باختيار المعالج 8088 لبناه الحاسب الشخصي 06 180/4 وذلك لسهولة
التعامل معه بالإضافة إلي رخص التكلفة حيث كان من المكلف في ذلك الوقت بناء الحاسب
على المعالج 8086 ذات ال16-58 وذلك بسبب ارتفاع تكلفة بناء نظام بوحدات مساعده
تتعامل مع كلمة بطول 16:08 في ذلك الزمن.
يتعامل المعالجان 8086 و8088 بنفس التعليمات وهما يمثلان نقطة البداية التي بدأت منها
يتم استعمالها في أجهزة الحاسب الشخصية وبالتالي فان البرامج
أسميناه بالتواق
المعالجان 80186و 80188
يعتبر المعالجان 80186 و 80188 تطويراً للمعالجين 8086 و 8088 وذاك عن طريق تنفيذ كل
التعليمات التي كات مستخدمة في المعالجات القديمة بالإضافة إلي بعض الأوامر المختصة بالتعامل
مع بعض الوحدات المساعدة 00108 5000008.كذا
ت إضافة بعض الأوامر الجديدة وهى ما
تسمى بال 1094000000 50100060. وعدوماً لم يتم استعمال المعالجين في الأجهزة بصورة كبيرة
وذلك نسبة لعدم وجود فارق كبير عن سابقيهما بالإضافة إلى ظهور المعالج الجديد 80286 في
المعالج 80286 :-
تم طرح المعالج 80286 في سنة 1982 م وهو معالج يتعامل مع كلمة بطول 885 16 ولكنه أسرع
6. كذلك تميز المعالج 80286 بالمزايا التالية +-
7100 116065 01 0681811005 نمطين للأداء - ١
المعالج 80286 يمكنه العمل في نمطين وهما النمط الحتيقي 1/0008 (168 والنمط المحمى
في النمط الحقيقي يعمل المعالج 80286 كمعالج من النوع 8086 وبالتالي فان البرامج التي
تمت كتابتها للمعالج 6 تعمل في هذا النمط بدون أي تعديل.
أما في النمط المحسى فاته يمكن أن يتم تشغيل أكثر من برنانج في وقت واحد
0010_1281609ا وبالتالي يلزم حماية كل برنامج من التعديل بواسطة برنامج آخر يعمل
في الذاكرة في نفس الوقت وذلك بتخصيص منطقة محددة من الذاكرة لكل برنامج على حدة
ومنع البرنامج من التعامل مع تناطق الذاكرة التي تخص البرنامج الآخر.
-ذاكرة أكبر :-
يمكن للمعالج 80286 التخاطب مع ذاكرة تصل إلي 1/816 16 وذلك في النمط المحمى
(مقابل 108778 1 للمعلج 8086 ).
© - التعامل مع الذاكرة الافتراضية :-
حيث يتم ذلك في النمط المحمى وذلك بإتاحة الفرصة للمعالج للتعامل مع وحدات التخزين
الخارجية لتنفيذ برامج كبيرة تصل ل 681775 1 (لاحظ أن أقصى قيمة للذاكرة هي 16
18776 فقط) وسيتم التحدث عن هذه الطريقة بالتفصيل في مادة نظم التشغيل.
في عام1985 تم إنتاج أول معالج يتعامل مع كلمة بطول 8115 32 وهو المعالج 80386 وهو
أسرع بكثير من المعالج 80286 وذك لمضاعفة طول الكلمة (من 16-817 إ828114) ونسبة
للسرعة الكبيرة التي يتعامل بها المعالج والتي تصل إلي 1/0142 40 فإنه يقوم بتنفيذ عدد كبير
يستطيع المعالج 80386 التعامل مع النمط الحقيقي والنفط المحمى حيث يعمل في النفط
الحقيقي كالمعالج 80386 وي النمط المحمى كالمعالج 80286. ذك بالإضافة إلي نمط جديد
يسمى بالنمط الافتراضي للمعالج 8086 (1/0005 8086 81لا1/187 ) وهو نعط مصعم لجعل
أكثر من برنامج من برامج المعالج 8086 تعمل في الذاكرة في وقت واحد.
يستطيع المعالج 80386 التعامل مع ذاكرة يصل حجمها إلي 601468 4 وذاكرة افتراضية
توجد كذاك نسخة رخيصة من المعالج تسمى 803868 وهى تحتوى على ننس الشكل
الداخلي للمعالج 80386 ولكنها خارجيا تتعابل بع 8175 216
في عام 1989 ظهر المعالج 80486 وهو عبارة عن نسخنة سريعة من المعالج 80386 حيث
يحتوى على كل مزايا المحالج 80386 بالإضافة للسرعة الكبيرة وتنفيذ الكثير من الأوامر
المستخدمة بكثرة في نبضة واحدة فقظ كذك احتواشه على المعالج المساعد 80387 والمختص
طويلاً من المعالج 80785 مما تطلب وجود المعالج 8:30 والذي يسمي بالمعالج المساعد الرياضي
880 00_0:008 .1120 وقد تم دمج هذا المعالج مع المعالج 8:3285 بالإضافة إلي ذاكرة
صغيرة تسمي بال 108071007 080016 زوهي ذاكرة ذات زمن وصول صغير جداً ويتم استخدامها
كوسيلة لتبادل البيانات بين الذاكرة العادية والمعالج الدقيقبوحجمها 4010468 8.
يعتبر المعالج 80485 أسرع من المعالج 60387 والذي يعمل على نفس التردد بحوالي ثلاث
يحتوي على معالج رياضي داخله. وقد ظهرت عدة إصدارات من المعالج 487 :8 ولكن لا توجد
اختلافات جوهرية والمجال هنا لا يتسع لذكرها.
الماح ممنتتموط
المعالج 8601007 هو آخر إصدارات شركة 1018 وهو أول معالج يتعامل مع كلمة بطول 64
6 بالإضافة إلي السرعة العالية جداً التي يعمل بها مقارنة بالمعالج 80487 هذا بالإضافة إلي
زيادة حجم الذاكرة الداخلية 14600017 086118
التركيب الد اخلر للمعالج مدي والعاالج تفن
في هنا الجزه سيتم التعرف على التركيب الداخلي للمعالج وذلك عن طريق التعرف على المسجلات المختلفة
الموجودة داخل المعالج ووظيفة كل مسجل وسيتم في الأجزاء التالية مناقشة الأوامر المختلفة التي يتم
استخدامها في التعامل مع المعالج. ونسبة لتوافقية البرامج التي تم الحفاظ علئها في المعالجات الجديدة منجد
السجلات
يتم تخزين البيانات داخل المعالج في المسجلات. ويتم تقسيم المسجلات إلى:
مسجلات بيانات: ويتم فيها التعامل مع البيانات من حيث التخزين وإجراء العمليات الحسابية والمخطقية.
سجلات عناوين: ويتم فيها تخزين العناوين المحتلنة.
مسجل الحالات: وهو يحتوي على حالة المعالج بعد تنفيذ أمر محدد.
ويحتوي المعالج على عدد ١4 مسجل وسنقوم في الجزء التالي بتوضيح أسماء ووظيفة كل مسجل.
مسجلات البيانات 6:4,81,/06 ,034
يتم استخدام هذه المسجلات الأربعة في التعامل مع البيانات داخل المعالج و يمكن للمبرمج التعامل
مباشرة مع هذه المسجلات. وبالرغم من أن المعالج يستطيع أن يتعامل مع بيانات في الذاكرة إلا أن
التعامل مع المسجلات يكون أسرع بكثير من التعامل مع الناكرة (يلزمه عدد اقل من النبضات)
وبالتالي نفضل دائماً التعامل مع المسجلات لسرعتها. وهذا سبب زيادة عدد المسجلات في المعالجات
يمكن التعامل مع كل من هذه المسجلات على أنه وحده واحدة بحجم 168175 أو على وحدتين
كل واحدة بسعة 8-8115 إحداهما العليا 416]1! و الثانية المنخفضة /104 مثلا يمكن التعامل مع
المسجل 836 على انه دسجل بحجم 16-8175 أو التعامل مع النصف العلوي 811 (141614) على
المسجلات 0,0,8 و بالتالي يصبح لدينا 8 مسجلات من النوع 85 أو أربعة مسجلات من
النوع 16-8115
بالرغم أن المسجلات الأربعة ذات استخدامات عانه 856157885 ]0108605 فلا65
يمكن استخدامها في أي استخدامات عامه إلا أن لكل مسجل استخداماً خاصاً نتناوله في
الجزء التالي:
يعتبر المسجل 86 هو المسجل المفضل للاستخدام في عمليات الحساب والمنطق و نقل
البيانات و التعامل مع الذاكرة و موانئ الإدخال و الإخرا
اج. و استخدامه يولد برامج اقصر
مع وضع القيمة المطلوب إخراجها إلي ميناء خروج محدد فيه ثم تتم قراء: القيمة التي يتم
إدخالها من ميناء خروج محدد فيه داثما. وعموما يتم التعامل مع المسجل)ل8 على أنه أهم
المسجلات الموجودة في المعلج.
يستخدم المسجل 876 في عنونه الذاكرة حيث تتطلب بعض العمليات التعامل مع الناكرة
بمؤشر محدد ويتم تغيير قيعه المؤشر لإجراء عمليه دسح لجزء محدد من الذاكرة كما سترىق
»-المسجل )© (15161 869 600001)
يتم استخدام المسجل 06 كعداد للتحكم بعدد مرات تكرار مجبوعة محدده من
التعليمات. كذلك يتم استخدامه في تكرار عمليه دوران مسجل لعدد محدد من المرات.
؛-المسجل 06( 86915162 0248)
يتم استخدامه في عمليات الضرب والقسمة كذاك يتم استخدامه كتؤشر لموانئ الإدخال
والإخراج عند استخدام عمليات الإدخال والإخراج.
مسجلا اطع 55 ,55 ,05 ,5
يتم استخدام هذه الملسجلات لتحديد عنوان محدد في الذاكرة. ولتوضيح وظيفة هذه المسجلات يجب في البداية
توضيح طريقة تنظيم الذاكرة.
تعلم أن المعالج 8088 يتعامل مع ٠0 إشارة عناوين ( ناقل العناوين 805 003658/ يحتوي على 30 إشارة)
وبالتالي يمكن مخاطبة ذاكرة تصل إلى 1,048,576 - 229 أي قعترطا/ا 1
ونجد أن عناوين أول ه خانات في الذاكرة هي :