أ/ عبد القادر البعداني سمى.لتمسامط ©2015_ومتالماوظطه
يتعامل المعالج الدقيق مع الأجهزة الخارجية باستخدام موانئ الإدخال والإخراج وذلك باستخدام
الأرامر 184 للقراءة وفى ميناء إدخل والأوامر 0107 للكتابة في ميناء إخراج.
يوجد نرعان في روتينات الخدمة المستخدمة في التعامل مع الموانئ يسمى الأول 8105
( 575781 101070107 1010107 88510) الثاني باستخدام ال 005. روتينات ال
305 يتم تخزينها في ذاكرة القراءة فقط (ال 801/0 ) ويتعامل مباشرة مع موانئ الإدخال
والإخراج بينما خدمات ال 005 تقوم بتنفيذ عمليات أكثر تعقيداً مثلاً طباعة سلسلة حروف رهي
تقوم عادة باستخدام ال 8105 في تنفيذ عمليات إدخال/إخراج مباث
يتم نداء ال 8105 أو ال 005 لتنفيذ عملية محددة باستخدام نداء مقاطعة . 10807
(0076881067) والنداء على هذه الصورة
المقاطعة هي عبارة عن إجراء خاص أو روتين خاص مبرمج سلفا ومخزون في مكان معروف من الذاكرة
ويستدعى لغرض إنجاز مهمة معينة .
- وتستخدم لبرمجة عمليات الادخال والاخراج المختلفة إي نقل البيانات من وحدات الادخال و الاخراج
الي و حدة المعالجة المركزية و بلعكس
نداء المقاطع رقم 2154 ( 2154 1007 )
- يتم استخدام هذا النداء لتنفيذ مجموعة كبيرة من الخدمات التي يقدمها نظام التشغيل 005 حيث
يتم وضع رقم الخدمة المطلوبة في المسجل 8+4 وقد يتطلب الأمر وضع بعض القيم في مسجلات
أخرى وذلك حسب نوع الخدمة المطلوبة وبعد ذلك يتم نداء طلب المقاطعة 2111. وقد يتطلب الأمر
استقبال قيم محددة في نداء المقاطعة حيث يتم وضعها في المسجلات. يتم وضع الخدمات المختلفة
في جدول كبير يوضح وظيفة كل خدمة والمدخلات إليها والمخرجات منها.
أ/ عبد القادر البعداني سمى.لتمسامط ©2015_وم:الموظطه
الجدول التالي يوضح ثلاثة فقط من الخدمات التي يخدمها النظام
رقم الخدمة الح ل
1 قراءة قيمة واحدة من لوحة المفاتيح
2 كتابة حرف واحد في الشاشة
9 كتابة مجموعة من الحروف في الشاشنة
في الجزء التالي ستناول بعض هذه الخدمات
الخدمة رقم 1: قراءة حرف من لوحة المفاتيج
المدخلات: وضع الرقم ١ في المسجل11/
المخرجاد المسجل 81 يحتري علي كود ال 8.5011 للحرف الذي تم الضغط عليه في لوحة
المفاتيح أو 0 في حالة الضغط على مفتاح غير حرفي 011888014788 1001
لاع
لتنفيذ هذه الخدمة تتم كتابة
تقوم هذه الخدمة بانتظار المستخدم إلى حين الضغط على لوحة المفاتيح. عند الضغط على أي مفتاح
يتم الحصول على كود ال 85011 للمفتاح من المسجل 81 كما يتم عرض الحرف الذي تم الضغط
عليه في لوحة المفاتيح علي الشاشة. ولا تقوم هذه الخدمة بإرسال رسالة إلي المستخدم فهي فقط
يحتوي المسجل 8.1 علي القيمة صفر. التعليمات التي تلي 2117 1817 تستطيع فحص المسجل 81
المدخلات : وضع الرقم 02 في المسجل 811/.
وضع شفرة ال 25011 كود للحرف المطلوب عرضه في المسجل 01.
المخرجات : الكرد ال |8561 للحرف الذي تم عرضه يتم وضعه في المسجل 81.
مثل: الأوامر التالية تعرض علامة استفهام علي الشاشة
بعد طباعة الحرف على الشاشة يتحرك المؤشر إلي الموضع التلي ( إذا كان الوضع الحالي هو
نهاية السطر يتحرك المزشر إلي بداية السطر الجديد) .
يتم استخدام هذه الخدمة لطباعة حرف التحكم +0118:8018 0001601 أيضاً والجدول التالي
يوضح بعض حروف التحكم)
الكرد 856١ الرمز الوظيفة
7 (م868) ا88 إصدار صوت
8 (©62075080) 85 .| مسافة للخلف ( 830050868 )
9 (60) 17 تحرك بمقدار 780
9 (660 06ن1) م1 سطر جديد
0 (610010 68011396) 68 | بداية السطر الحالي
برنامجنا الأول سيقوم بقراءة حرف من لوحة المفاتيج ثم طباعة الحرف الذي تم إدخاله في بداية السطر
التالي ثم إنهاء البرنامج.
يتكون البرنامج من الأجزاء التالية:
0 إظهار علامة الاستفهام "؟" على الشاشة
/ عبد القادر البعداني سمن. لتمسامط ©2015_عولالملو)طة.
لك قراءة حرف من لوحة المفاتيح
© حفظ الحرف الذي تم إدخاله في مسجل آخر 81 مثلاً و ذلك لأننا منستخدم المسجل 01 في تحريك
المؤشر إلي بداية السطر الجديد وسيؤدي ذلك لتغيير محتويات المسجل 81 ( لاحظ أن الخدمة ؟ تقوم
باستقبل الحرف المطلوب طباعته في المسجل 01 وتقوم بإعادة الحرف المطبوع في الصسجل 81 مما
يجعلنا نفقد القيمة المسجلة فيه) وبالتالي يجب تخزين محتوياته في مسجل آخر مثل 81
؛- - لتحريك المسجل إلي بداية السطر الجديد يجب طباعة حرف التحكم
861000 08011296 د 860 6نا ويتم ذلك كلآتي
© طباعة الحرف الذي تم إدخاله (لاحظ انه تم تخزينه في المسجل 81 في الخطوة (2©)
81 إنهاء البرنامج و العودة الى نظام التشغيل ويتم ذلك بوضع الرقم 4017 في المسجل ١
.211( واستدعاء نداء المقاطعة رقم
/ عبد القادر البعداني سمه. لتمسامط ©2015_عولىالملطه.
أ/ عبد القادر البعداني سمى.لتمسامط ©2015_ومتالماوظطه
لاالقثم ملاع
لاحظ أنه عندما يتوقف البرنامج فإنه يحول التحكم لل 005 بتنفيذ 211 1807 الوظيفة 401
إنشاء و تجهيز البرنامج للتشفيل حيث يتضمن ذلك الخطوات التالية:
2 استخدام أي برنامج +0140 7674 لكتابة البرنامج الموضح في المثال السابق. (ملف برنامج
؟- - استخدام ال 855810818 لتوليد الملق المستمى 11 567ل08.
.* استخدام برنامج الربط 1101/58 لربط ملفات ال 07 ]ل08لتوليد ملف التشغيل
؛- - تشغيل البرنامج.
فيما يلي توضيح بلتفصيل كل خطوة من الخطوات السابقة:-
اء ملف البرامع اا 8010865:-
يتم استخدام أي محرر نصوص +50140 لكتابة البرنامج ويمكن استخدام أي محرر ينتج ملف نصي
عادى :50110 71 مثل 017 يتم عادة تخزين الملف بامتداد (2::1601100) 851/1 مثلا
المثل السلبق تحفظ الملف بالاسم 1857-8510
تجميع البرنامع015068/81 7115 255511815
ويتم هذا عن طريق معالجة البرنامج بواسطة أحد ال 88560010167 مثل 011 11/8511)111105
(855601516 1080:0 أذ (:855601516 70150 )7851/1 ر التي تقوم بتحويل الملف
الأصلي الذي يحتوى على البرنامج المكتوبة بلغة التجميع إلى ملف اقرب إلى لغة الآلة
يسمى(ع 11 507ل08). وأثناء هذه العملية يتم التعامل مع الملف والتأكد من عدم وجود أي
خطأ في كتابة البرنامج حيث يتم الرجوع إلي الخطوة (1) وتحديد الأخطاء و تصحيحها حتى نحصل
على رسالة بعدم وجود أخطاء في البرنامج.
أ/ عبد القادر البعداني سمى.لتمسامط ©2015_ومتالماوظطه
واستخدام البرنامج 7/8511 أ 1/0/8511 يتم على النحر التالي:
في هذا الجزء سنستخدم برنامج 78.510 والجزء التالي يوضح هذه العملية:-
قلا 0اتمل 1176
السطر الأول يوضح نوع ال68 85581081 والسطر الثاني يوضح اسم الملف يليه سطرين
بالأخطاء التي توجد في البرنامج.
لاحظ أنه إذا كان هناك أي خطأ في البرنامج الأصلي يتم إظهار رسالة تحوي رقم السطر
سريعة عن الخطأ حيث يجب فتج الملف الأصلي 1154.8517 وتصحيح الخطأ ثم العودة مرة أخرى
وإعادة هذه الخطوة حتى نحصل على الملف [11054.05
ه في الخطوة السابقة هو ملف بلغة الآلة 12091896 11800108 ولكنهة
غير قابل للتنفيذ لأنه لا يحتوي على الشكل المناسب للبرامج القابلة للتنفيذ وذلك للأسباب التالية:
أ- عدم تعريف مكان تحميل الملف في الذاكرة وبلتالي فإن عمليه العنونة داخل البرنامج لا
يمكن تنفيذها.
ب- بعض الأسماء والعناوين داخل البرنامج تكون غير معرفة بالذات في حالة ربط أكثر
من برنامج حيث يتم من أحد البرامج نداء برامج فرعيه أخرى مكتوب في ملف آخر.
/ عبد القادر البعداني سمن. لتمسامط ©2015_عولالملوطة.
برنامج الربط 08091800 11016 يقوم بإجراء عملية الربط بين ال 1185© 00601 المختلفة
وتحديد العناوين داخل البرنامج ويقوم بعد ذلك بإنتاج ملف قابل للتتفيذع )زع . 5:60018516)
البرنامج 00 6 عطت مط
لتشغيل البرنامج يتم فقط كتابة اسمه من محث ال005
يقوم البرنامج بطباعة الحرف "؟" والانتظار إلي حين الضغط علي مفتاح من لوحة المفاتيح. يقوم
البرنامج بالذهاب إلي بداية السطر الجديد وطباعة الحرف الذي تم الضغط عليه ثم الانتهاء والعودة
إلي نظام التشغيل.
أ/ عبد القادر البعداني سمى.لتمسامط ©2015_وم:الموظطه
البيانات المستخدمة في البرنامج 0243 5199:3100
يقوم البرنامج بالتعامل مع البيانات في صورة أرقام ثنائية وفي برامج لغة التجميع يتم التعامل مع
الأعداد 110005265
* يتم كتابة الأرقام الثقائية في صورة ٠ و١ وتنتهي الحرف 8 أو 5 للدلالة علي أن الرقم ثتئي
* مثل 010101118 أذ 111000115
بالحرف 0 أو الحرف م دلالة علي أنها عشرية 068010131 مثل 1234 در 13450 -
* الأرقام السداسية عشر يجب
عشر [116:»30801018 مثل 08010 أو 561. ( السبب في استعمال 0 في المثل الأول
لتوضيح أن المطلوب هو الرقم السداسي عشر 85 وليس المتغير المسمى 86 ).
الجدول التالي يوضح بعض الأمثلة
الرقم درك
71 أعثري
05 أقني
5 أعثري
١ 6 سداسي عشر
4 | خطا ( يحتوي على حرف غير رقع )
05 اخطأ (لم ينتهي بالحرف 55 أن 81)