الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

المقاطعات

مغلق
بدأه in4maTic في 3 مايو 2006 · 2 رد · 1,538 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

إخواني الأعزاء....

لإضافة code بلغة التجميع إلى delphi code نستخدم Asm و end; ونكتب بينهما تعليمات لغة التجميع... لكن عند محاولة تنفيذ

الكثير من التعليمات تظهر رسالة خطأ, ومن ضمنها المقاطعات كالمقاطعة int 21 h والمقاطعة int 13 h فهل لدى أحد من الأخوة طريقة

لتنفيذ المقاطعات في code الـ delphi...

جزاكم الله خيراً....

المال في الغربة وطن والفقر في الوطن غربة

#2

السلام عليكم ورحمة الله

أخي المقاطعات تعمل في بيئة DOS و بالرغم من وجودها أو على الأقل و جود بعضها تحت Windows إلا أن نظام التشغيل Windows يمنع البرامج من إستخدام المقاطعات مباشرة...

ماالذي تريد القيام به؟

، فهناك طرق أخرى...كإستخدام VxD

d4baa0.gif
#3

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

المقاطعات كانت لها أهمية كبيرة في البرمجة في نظم 16bits تحت real mode...

تنقسم إلى صنفين : مقاطعات برمجية( مقاطعات النظام) و مقاطعات الآلة (hardware).

مقاطعات hardware هي مقاطعات تإتي من حدث للقطع الحاسب كمقاطعة الفأرة أو لوحة التحكم, أو كمقاطعة المؤقت للبيوس...كل هذه المقاطعات تنبتق عن أحداث مادية لقطع الحاسب ويديرها مركب إلكتروني هو PIC الذي يمكنه استقبال(

16IRQ ( interupt requestيقوم بتوجيه إشارة للمعالج عند كل حدث.

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

يقوم نظام التشغيل بوضع جدول لهذه المقاطعات..

هذه الطرق كانت مستخدمة في نظام 16bits real mode لأن في ذلك الوقت لم يكن نظام التشغيل متعدد المهام multitask.

فكانت المقاطعات هي السبيل الوحيد لتنفيذ افجرائيات اللازمة "مزامنة " مع التطبيق.

المقاطعات البرمجية إنقرضت مع ظهور Windows95 ولم تعد تستعمل لأن dos لم يعد هو النظام الرئيسي للحاسب كما كان في زمن win3.11 .

في win32 خاصة win32 NT, أصبح معظم المقاطعات المادية لا يمكنك استدعاؤها إلا في ring0. لأن استعمالها استعمال خطير يهدد استقرار نظام التشغيل.

سترى أن windows "صادرت" ثلاث تعليمات للغة التجميع, توقف أي تطبيق يستعملها: وهي تعليمات الدخل IN و تعليمات الخرج OUT وتعليمات المقاطعة INT.

لو كنت مضطر لاستعمال المقاطعات, وجب عليك البرمجة في borland pascal(أظن حتى delphi1) وليس في ديلفي 2 و التي تليها.

Ralf Brown's Interrupt List for all API's ( dos ans windows)

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

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

هذا الموضوع مغلق.

مواضيع مشابهة