سجل الأعلام
المحتويات
- تمكين المقاطعة الفعلي VIRTUAL INTERRUPT FLAG
- مقدمة
- علم التحكم بالاستثناءات RF
- علم الازدواجية PARITY FLAG
- 2- علم التحكم DIRECTION FLAG
- عندما يكون في حالة واحد
- BT,BTS,BTR,BTC
- إذا كان التعامل مع الـBCD يكون الAF=CF
- أعلام الحالة STATUS FLAGS
- علم الطفحان OVERFLOW FLAG
- موقعه البت الثامن عشر من سجل الاعلام
- التعريف أو الولوج IDENTIFICATION FLAG
- علم الإشارة SIGN FLAG
- علم الضبط AUXILIARY FLAG
- علم المقاطعات IF
- موقعه البت العشرون من سجل الاعلام
- علم التحكم DIRECTION FLAG
- تعليقات
- علم التصفير ZERO FLAG
- VM=1 لتمكين النمط الحقيقي للمعالج 8086
- كتاب المعالج المصغر للدكتور يحيى نجار
- علم الحمل CARRY FLAG
- أعلام النظام SYSTEM FLAGS
في البداية، سِجِلّ الأعلام -يسمى كذلك «يجل كود الشروط» (condition code register)- هو عبارة عن بتّات مستقلّة بعضها عن بعض منطقيًا وهي تسمّى «أعلام» في أغلب الأحيان. الأعلام تستنبط من المِعْمَلات (operands) ونتيجة عملية (result of an operation)؛ وهي تبرز حالة وحدة الحسابيات والمنطق (arithmetic logic unit) بعد تنفيذ عملية هي لا تُغيَّر عن طريق تنفيذ عمليات حسابياتية أو منطقية من خلال وحدة الحسابيات والمنطق فقط، بل تتأثّر كذلك من أجل أوامر أخرى التي لا تُظهر فرديًا الارتباط المنطقي بين العملية والأعلام بشكل مباشر. وتعرض الأقسام التالية جوانب أخرى من الموضوع.
تمكين المقاطعة الفعلي VIRTUAL INTERRUPT FLAG
من جانب آخر، موقعه البت التاسع عشر من سجل الاعلام وهو الصورة الحقيقية للعلم IF ويستعمل بالاقتران مع العلم VIP
علم تعليق المقاطعات الفعلي VIRTUAL INTERRUPT PENDING FLAG
مقدمة
1- أعلام الحالة STATUS FLAGS
يتألف سجل الاعلام من 32 بت ويقسم إلى ثلاثة أقسام رئيسية:
علم التحكم بالاستثناءات RF
- موقع البت السادس عشر في سجل الأعلام ويستعمل للتحكم باستجابة المعالج للاستثناءات
- علم الوضع النمط الحقيقي للمعالج 8085VM
- موقعه البت السابع عشر في سجل الاعلام
علم الازدواجية PARITY FLAG
كذلك، واحد منطقي إذا كان عدد الواحدات في البايت السفلي من الناتج عددا زوجيا والا فصفر منطقي
2- علم التحكم DIRECTION FLAG
وفي هذا السياق، البتات من 1,3,5,15&22to31 محجوزة يجب أن لا تعتمد البرامج على أي من حالة هذه الخانات.
من جانب آخر، بعض اللعلام في سجل الاعلام يمكن أن تعرف بشكل مباشر باستخدام بعض التعليمات الخاصة كما أنه لا يوجد تعليمات تفحص كامل سجل الاعلام بشكل مباشر.
3- مجموعة من أعلام النظام GROUP OF SYSTEM FLAGS
LAHF,SAHF,PUSHF,PUSHD,POPF,and POPFD.
وفي هذا الصدد، التعليمات التالية يمكن أن تستعمل لنقل مجموعة من الاعلام من وإلى روتينات البرنامج وذلك عن طريق الروتين المخصص للتعامل مع المكدس أو مع المكدس EAX:
في هذا الإطار، بعد ترحيل محتوى سجل الاعلام إلى المكدس يمكن التعامل معه وفحصه باستخدام تعليمات بتات التحكم
عندما يكون في حالة واحد
من جهة ثانية، منطقي أي TF =1 يسمح بتنفيذ خطوة واحدة فقط عند إجراء عملية DEBUGGING أي عملية تلقيط الاخطاء عندما يكون في حالة صفر منطقي TF=0 لا يسمح باجراء خطوة واحدية.
BT,BTS,BTR,BTC
ومن جهة أخرى، عندما يتم إيقاف المهمة باستخدام خاصية المهام المتعددة للمعالج يقوم المعالج بشكل تلقائي بحفظ حالة سجل الاعلام في قسم حالة المهمة Task state segment من أجل بدء وضع التوقف لهذه المهمة.
ومن جهة أخرى، عند طلب المقاطعة أ روتين المسك الاستثنائي Exception Handler يقوم المعالج بشكل تلقائي بحفظ الحالة في روتين خدمة المكدس وعندما يتم تبديل المقاطعة أو الروتين الاستثنائي عن طريق تبديل المهام ومن ثم تم حفظها في TSS.
علاوةً على ذلك، عند العودة إلى استئناف هذه المهمة يقوم المعالج باعادة تحميل سجل الاعلام بالمعلومات اللازمة من الTSS
إذا كان التعامل مع الـBCD يكون الAF=CF
إضافةً إلى ذلك، في الأعداد المشرة الـSF يطابق إشارة العدد اؤسر أي الخانة الأخيرة و ZF يشير إما ألى الصفر الموجب أو الصفر السالب.
إضافةً إلى ذلك، يتم استخدام الحمل CF لكي يتم نقل تأثير عملية سابقة على عملية لاحقة مث العمليات ADC، SUB الجمع مع الحمل الطرح مع الاقتراض.
ومن جهة أخرى، التعليمات JP CC,SET CC,LOOP CC,MOV CC تقوم هذه التعليمات بفحص شرط معين من أجل القفز أو التفرع أو ضبط بايت معين أو إنهاء حلقة، يمكن لهذه التعليمات أن تستعمل أعلام الحالة السابقة.
أعلام الحالة STATUS FLAGS
كذلك، بتات أعلام الحالة هي (0,2,4,6,7,11) من سجل الاعلام وهي تتأثر بالتعليمات الحسابية مثل الجمع add والطرح sub والضرب mult والقسمة div وهذه الاعلام:
علم الطفحان OVERFLOW FLAG
من جهة ثانية، يكون في حالة واحد منطقيOF=1 إذا كان العدد الصحيح الناتج موجب كبير جدا أو عدد سالب صغير جدا بحيث لا تتسع خانات المستقر باستثناء خانة الإشارة أي أن الطفحان يحدث من الخانة ما فيل الأخيرة إلى الخانة الأخيرة الأكثر وهي خانة الإشارة ويكون صفر عندما لا يكون هنالك طفحان من الخانة قبل الأخيرة إلى الخانة الأخيرة، إذا فهو متعلق بشرط الطفحان في الاعداد الصحيحة المؤشرة.
موقعه البت الثامن عشر من سجل الاعلام
في هذا الإطار، عندما يكون AC=0 أو AM=0 يتم إلغاء وضع فحص الانزياح في الذاكرة.
ومن ناحية أخرى، إذا كان الAC=1 وكان العلم AM=1 الواقع في السجل CR0 يتم تمكين وضع الانزياح في فحص مؤشرات الذاكرة.
التعريف أو الولوج IDENTIFICATION FLAG
في هذا الإطار، موقعه البت الواحد والعشرون من سجل الأعلام ويمكن للبرامج أن تستعمل هذا العلم من أجل دعم تعليمة التعرف على المعالج CPUID INSTRUCTION
المراجع
علم الإشارة SIGN FLAG
إذا كانت SF=0 فالعدد موجب أما إذا كانت SF=1 فالعدد سالب.
ومن ناحية أخرى، مطابق للخانة الأكثر أهمية للناتج وهي خانة الإشارة للأعداد الصحيحة المؤشرة
علم الضبط AUXILIARY FLAG
من جهة ثانية، يكون في حالة واحد منطقي إذا كان هنالك حمل أو اقتراض من الخانة الثالثة إلى الخانة الرابعة من النبل السفلي للناتج وصفر فيما عدا ذلك ويستعمل مع التعليمات الحساية المطبقة على ال BCD.
علم المقاطعات IF
من جهة ثانية، يشغل البت التاسع من سجل الاعلام وهو مسؤول عن التحكم بالمقاطعات. إذا كان علم المقاطعة IF=1 يقوم المعالج بالاستجابة لطلب المقاطعة ويقوم بتنفيذها، أما إذا كان علم المقاطعة IF =0 يقوم تجاهل المقاطعات
- علم التحكم بالرط بين المقاطعات NESTED TASK FLAG
- موقعه البت الرابع عشر في سجل الاعلام وتتحكم بترتيب المقاطعات واستدعاء المهام
- NT=1 عندما تكون المهمة الحالية ترتبط بالمهمة المنفذة السابقة.
- NT=0 عندما تكون المهمة الحالية لا ترتبط بالمهمة السابقة.
موقعه البت العشرون من سجل الاعلام
وعلى صعيد آخر، أما إذا كان VIP=0 فإنه لا توجد مقاطعات معلقة. علما بأن البرامج هي التي تقوم بالكتابة على هذا العلم أما المعالج فيقوم بالقراءة فقط يستعمل هذا العلم مع العلم VIF.
إذا كان VIP=1 عندما يكون هنالك كقاطعات تم تعليقها
علم التحكم DIRECTION FLAG
وفي السياق ذاته، إذا وضع هذا العلم في حالة واحد منطقي DF=1 يجعل تعليمات السلاسل تقوم بانقاص آلي للعنوان في الذاكرة أي تعالج السلسة من الأعلى إلى الأسفل أما إذا كان الـDF=1 فإن تعليمات السلاسل تعالج المعلومات من العنوان الأسفل إلى الأعلى شكل آلي.
MOVS ،CMPS SCAS ،LOADS ،STORS.
وفي هذا السياق، موقعه البت العاشر من سجل الأعلام ويستعمل للتحكم بتعليمات السلاسل
STD تقوم بجعل الـDF=1
CLD تقوم بجعل الـDF=0
تعليقات
وعلى صعيد آخر، إذا كان الناتج لعملية على أعداد مؤشرة فإننا نتمم الناتج ثنائياً وعلم الطفحان يطابق علم الحمل OF=CF.
في هذا الإطار، في أعلام الحالة هذه فقط علم الحمل يمكن أن يعرف بشكل مباشر أي يتم الولج إليه مباشرة باستخدام التعليمات STC,CLC,CMC كذلك باستخدام تعليمات الخاصة بالبت BT,BTS,BTR,BTC حيث تقوم نسخ بت معين إلى الCF.
في هذا الإطار، إذا كان الناتج عدد صحيح غير مؤشر فإن CF يطابق حالة عدم اتساع الناتج OUT OF RANG وكذلك بالنسبة للاقتراض.
في هذا الإطار، تتأثر اعلام الحالة بالعمليات الحسابية على الاعداد الصحيحة المؤشرة والغير مؤشرة و BCD الصحيحة.
علم التصفير ZERO FLAG
ومن ناحية أخرى، يكون في حالة واحد منطقيZF=1 إذا كان الناتج صفرا وصفر فيما عدا ذلك ZF=0.
VM=1 لتمكين النمط الحقيقي للمعالج 8086
وفي هذا الصدد، VM=0 من أجل العودة إلى الوضع المحمي وإلغاء الوضع الحقيقي 8086.
علم الانزياح ALIGNMENT CHECK
كتاب المعالج المصغر للدكتور يحيى نجار
وصلات خارجية
وفي هذا الصدد، Intel® 64 and IA-32 Architectures Software Developer’s Manual
علم الحمل CARRY FLAG
علاوةً على ذلك، وهي في حالة واحد منطقي cf =1 إذا كانت ناتج العملية الحسابية هناك حمل أو اقتراض من الخانة الأكثر أهمية وإلا فهي صفر منطقي.
إضافةً إلى ذلك، وهو يطابق شرط حمل الطفحان في العمليات الحسابية على الاعداد الصحيحة غير المؤشرة ويستعمل في حسابيات الدقة المضاعفة Multiple Precision arithmetic
أعلام النظام SYSTEM FLAGS
علم الخطوة الواحدية TF
وفي السياق ذاته، تتحكم أعلام النظام بعمليات نظام التشغيل وإدارة المهام ولا يمكن استخدامها مع برامج التطبيقات العادية وهي على الشكل التالي:
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟