الرئيسيةبحث

مسجل الأعلام

فهرس

مقدمة :

يتألف مسجل الاعلام من 32 بت و يقسم إلى ثلاثة أقسام رئيسية :

1- أعلام الحالة STATUS FLAGS

2- علم التحكم DIRECTION FLAG

3- مجموعة من أعلام النظام GROUP OF SYSTEM FLAGS

البتات من 1,3,5,15&22to31 محجوزة يجب أن لا تعتمد البرامج على أي من حالة هذه الخانات .

بعض الاعلام في مسجل الاعلام يمكن أن تعرف بشكل مباشر باستخدام بعض التعليمات الخاصة كما أنه لا يوجد تعليمات تفحص كامل مسجل الاعلام بشكل مباشر .

التعليمات التالية يمكن أن تستخدم لنقل مجموعة من الاعلام من و إلى روتينات البرنامج و ذلك عن طريق الروتين المخصص للتعامل مع المكدس أو مع المكدس EAX:

LAHF,SAHF,PUSHF,PUSHD,POPF,and POPFD.

بعد ترحيل محتوى مسجل الاعلام إلى المكدس يمكن التعامل معه وفحصه باستخدام تعليمات بتتات التحكم

BT,BTS,BTR,BTC

عندما يتم ايقاف المهمة باستخدام خاصية المهام المتعددة للمعالج يقوم [[معالج|المعالج] بشكل تلقائي بحفظ حالة مسجل الاعلام في قسم حالة المهمة Task state segment من أجل بدء وضع التوقف لهذه المهمة .

عند العودة إلى استئناف هذه المهمة يقوم المعالج باعادة تحميل مسجل الاعلام بالمعلومات اللازمة من الTSS

عند طلب المقاطعة أ روتين المسك الاستثنائي Exception Handler يقوم المعالج بشكل تلقائي بحفظ الحالة في روتين خدمة المكدس و عندما يتم تبديل المقاطعة أو الروتين الاستثنائي عن طريق تبديل المهام و من ثم تم حفظها في TSS .


أعلام الحالة STATUS FLAGS:

بتات أعلام الحالةهي (0,2,4,6,7,11) من مسجل الاعلام و هي تتأثر بالتعليمات الحسابية مثل الجمع add والطرح sub و الضرب mult و القسمة div وهذه الاعلام :


1-علم الحمل CARRY FLAG:

و هي في حالة واحد منطقي cf =1 إذا كانت ناتج العملية الحسابية هناك حمل أو اقتراض من الخاة الاكثر أهمية

و الا فهي صفر منطقي .


و هو يطابق شرط حمل الطفحان في العمليات الحسابية على الاعداد الصحيحة غير المؤشرة و يستخدم في التقيق الحساي المضاعف Multiple Precision arithmetic


2-علم الازدواجية PARITY FLAG :

واحد منطقي إذا كان عدد الواحدات في الايت السفلي من الناتج عددا زوجيا و الا فصفر منطقي

3-علم الضبط ADJUST FALG  :

يكون في حالة واحد منطقي إذا كان هنالك حمل أو اقتراض من الخانة الثالثة إلى الخانة الرابعة من النبل السفلي للناتج و صف فيما عدا ذلك و يستخدم مع التعليمات الحساية المطبقة على الـــ BCD .

4-علم التصفير ZERO FLAG  :

يكون في حالة واحد منطقيZF=1 إذا كان الناتج صفرا و صفر فيما عدا ذلك ZF=0.

5-علم الاشارة SIGN FLAG :

مطابق للخانة الاكثر اهمية للناتج و هي خانة الاشارة للأعداد الصحيحة المؤشرة

إذا كانت SF=0 فالعدد موجب أما إذا كانت SF=1 فالعدد سالب .

6-علم الطفحان OVER FLOW FLAG :

يكون في حالة واحد منطقيOF=1 إذا كان العدد الصحيح الناتج موجب كبير جدا أو عدد سالب ضغير جدا بحيث لا تتسع خانات المستقر باستثناء خانة الاشارة أي أن الطفحان يحدث من الخانة ما فيل الاخيرة إلى الخانة الأخيرة الاكثر و هي خانة الاشارة ويكون صفر عندما لا يكون هنالك طفحان من الخانة ا قبل الاخيرة إلى الخانة الأخيرة ،إذا فهو متعلق بشرط الطفحان في الاعداد الصحيحة المؤشرة .


تعليقات:

في أعلام الحالة هذه فقط علم الحمل يمككن أن يعرف بشكل مباشر أي يتم الولج إليه مباشرة باستخدام التعليمات STC,CLC,CMC كذلك باستخدام تعليمات الخاصة بالبت BT,BTS,BTR,BTC حيث تقوم نسخ بت معين إلى الCF .

تتأثر اعلام الحالة بالعمليات الحسابية على الاعداد الصحيحة المؤشرة و الغير مؤشرة و BCD الصحيحة .


علم التحكم DIRECTION FLAG :

موقعه الت العاشر من مسجل الأعلام و يستخدم للتحكم بتعليمات السلاسل

MOVS ،CMPS SCAS ،LOADS ،STORS .

إذا و ضع هذا اللم في حالة واحد منطقي DF=1 يجعل تعليمات السلاسل تقوم بانقاص آلي للعنوان في الذاكرة أي تعالج السلسة من الأعلى إلى الاسفل أما إذا كان الـDF=1 فإن تعليمات السلاسل تعالج المعلومات من العنوان الاسفل إلى الأعلى شكل آلي.

STD تقوم بحعل الـDF=1 CLD تقوم بجعل الـDF=0


أعلام النظام SYSTEM FLAGS :

تتحكم اعلام النظام بعمليات نظام التشغيل و إدارة المهام و لا يمكن إستخدامها مع برامج التطبيقات العادية و هي على الشكل التالي :


1-علم الخطوة الواحدية TF:

عندما يكون في حالة واحد

منطقي أي TF =1 يسمح بتنفيذ خطوة واحدة فقط عند إجراء عملية DEBUGGING أي عملية تلقيط الاخطاء عندما يكون في حالة صفر منطقي TF=0 لا يسمح باجراء خطوة واحدية .


2-علم المقاطعات IF:

يشغل البت التاسع من مسجل الاعلام

مسؤول عن التحكم بالمقاطعات

إذا كان علم المقاطعة IF=1 يقوم المعالج بالاستجابة لطلب المقاطعة و يقوم بتنفيذها

اما إذا كان علم المقاطعة IF =0 يقوم تجاهل المقاطعات


3-علم التحكم بالرط بين المقاطعات NESTED TASK FLAG  :

موقعه البت الرابع عشر في مسجل الاعلام وتتحكم بترتيب المقاطعات و استدعاء المهام

NT=1 عندما تكون المهمة الحالية ترتبط بالمهمة المنفذة السابقة .

NT=0 عندما تكون المهمة الحالية لا ترتبط بالمهمة السابقة .


4-علم التحكم [بالاستثناءات] RF:

موقع البت السادس عشر في مسجل الأعلام ويستخدم للتحكم باستجابة المعالج للاستثناءات


5-علم الوضع النمط الحقيقي للمعالج 8085VM :

موقعه البت السابع عشر في مسجل الاعلام

VM=1 لتمكين النمط الحقيقي للمعالج 8086

VM=0 من أجل العودة إلى الوضع المحمي و الغاء الوضع الحقيقي 8086.


6-علم الانزياح ALIGNMENT CHECK:

موقعه البت الثامن عشر من مسجل الاعلام

إذا كان الAC=1 و كان العلم AM=1 الواقع في الـمسجل CR0 يتم تمكين و ضع الانزياح في فحص مؤشرات الذاكرة .

عندما يكون AC=0 أو AM=0 يتم إلغاء و ضع فحص الانزياح في الذاكرة .


7-علم تمكين المقاطعة الفعليVIRTUAL INTERRUPT FLAG :

موقعه البت التاسع عشر من مسجل الاعلام و هو الصورة الحقحقية للعلم IF و لتكين و يستخدم بالاقتران مع العلم VIP


8-علم تعليق المقاطعات الفعليVIRTUAL INTERRUPT PENDING FLAG :

موقعه البت العشرون من مسجل الاعلام

إذا كان VIP=1 عندما يكون هنالك كقاطعات تم تعليقعا

أما إذا كان VIP=0 فإنه لا توجد مقاطعات معلقة .علما أن البرامج هي التي تقوم بالكتابة على هذا العلم أما المعالج فيقوم بالقراءة فقط يستخدم هذا العلم مع العلم VIF.


9- علم التعريف أو الولوج IDENTIFICATION FLAG:

موقعه البت الواحد و العشرون من مسجل الأعلام و يمكن للبرامج أن تستخدم هذا العلم من أجل دعم تعليمة التعرف على المعالج CPUID INSTRUCTION

المراجع:

- http://www.intel.com

- كتاب المعالج المصغر للدكتور يحيى نجار.

- Intel® 64 and IA-32 Architectures Software Developer’s Manual