الخميس، مارس 11، 2010

مفاهيم المسجلات في الأسمبلي Assembly

تماما كما نتعلم القراءة يجب ان نتعلم حروف اي لغة نريد ان نستخدمها و لغة التجميع لا تختلف عن هذه القاعدة و لكي اكون صادقا فكل ما سوف اضيفه الان و مستقبلا هو شرح لهذه الابجدية و لنبدأ على بركة الله 1. المسجلات : و سنفترض انها وسائط تخزين للبيانات بكافة انواعها
2. Ax يستخدم للعمليات الحسابية و تخزين البيانات
3. Bx و تسمى بالقاعدة و تستخدم مرتبطة مع المسجل Ax
4. Cx العداد العداد
5. Dx مسجل البيانات
6. Di وجهة تخزين البيانات او المكان الذي سوف تخزن به الحروف
7. Si فهرس المصدر المكان الذى تنسخ منه الحروف
يمكن استخدام المسجل 6 و 7 كمصدر و هدف لعمليات الحروف
مسجلات الفهرس و السيجمنت*segment
1. Bp مؤشر القاعدة و هو يشير الى مكان محدد بالمخزن Stack
2. Sp مؤشر المخزن نفسه
3. Cs تعليمات واجبة التنفيذ
4. Ds بيانات يحتاج لها التطبيق
5. Es مقاطع اضافية للتخزين
6. Ss المخزن Stack
* السيجمنت Segment هو قسم او جزء من الذاكرة لتخزين السجلات وساسميه دائما سيجمنت فتنبه اخي لذلك
[ المسجلات المضاعفة هي السجلات التي اضيف اليها الحرف E و كمثال على ذلك المسجل Ax يخزن 16 بت بينما المسجل Eax يخزن 32 بت]
مسجل البيان Flag
1. يسمى بالعلم و الراية لكن غرضه بيان حالة ما
2. O يبين حالة عدم الاتزان و ينتج من العمليات الحسابية مثل الاستعارة
3. D لتحديد الاتجاه
4. I لاغراض المقاطعة
5. T للتتبع
6. S تحديد الاشارة سالب او موجب للرقم
7. Z هل الناتج صفر يدل على التكافوء و عدم التكافؤ المساواة
8. A
9. P القطبية و عدد الواحدات فردي وزوجي الاعداد الخ
10. C الرفع (كما لو قلنا 5+6 = 1 و معانا واحد)
* سيتم شرح ما نحتاجه من دلائل البيان ال 10 في الدروس القادمة و نلاحظ
* كل سيجمنت يقسم الى اوفست Offsets
* الاوفست رقم من 00000000 الي Ffffffff لويندوز 9x و ما بعده
* و بالتالي هناك 65.536 سيجمنت بالذاكرة
* و بالتالي هناك 65.536 عنوان بالذاكرة
* مؤشر التعليمات Ip [لا تستعملها] تشير الي التعليمة التالية
* العنوان (مكان محدد بالذاكرة) شكله كلاتيsegment offset
يمكن التشبيه بما يلي التطبيق=كتاب السيمنت=الصفحة و الاوفست=سطر و ايضا الاوفست =ip مؤشر التعليمات
التعليمة Cs:ip تشير الى عنوان التعليمة التنفيذية التالية بالذاكرة
التعليمةss:sp تشير الى عنوان الموقع الحالي للمخزن لاحظ اوفست=sp