السلام عليكم و رحمة الله و بركاته
نكمل اليوم على بركة الله الجزء الثاني من درس مكونات المعالج و سنتطرق اليوم الى بضع نقاط مهمة لهذا ارجو ان تركزو معي
اولا لغة الاسمبلي ماهي
هي لغة برمجة منخفضة المستوى بالعتبار انها تتعامل مع مختلف مكونات الجهاز بصفة يمكن القول انها مباشرة حيث انها لا تحتاج الى compilatore كبقي لغات البرمجة فهي تعمل في بيئة الونداوز مباشرة
و قد سبق و راينا في الدرس السابق المسجلات و الان سنرى 8 مسجلات عامة
: general purpose registers
EAX - the accumulator register.
EBX - the base address register.
ECX - the count register
EDX - the data register
ESI - source index register.
EDI - destination index register.
EBP - base pointer.
ESP - stack pointer.
عند التعامل مع هذه المسجلات يمكنك الوصول الى ال 32 بت عن طريق ال EAX او اول 16 بت عن طريق AX او حتى الى اول وثاني 8 بت عن طريق AL و AH على الترتيب
على الرغم من التسميات النختلقة لكل مسجل فان المبرمج هو الذي يحدد استخدامات كل واحد منها
لهذا لن اطلب منكم حفض كل هذا لكن مجرد المعرفة البسيطة به
و الان ال : segment registers
• CS - points at the segment containing the current program.
• DS - generally points at segment where variables are defined.
• ES - extra segment register, it's up to a coder to define its usage.
• SS - points at the segment containing the stack.
ان ال segment registers تعمل جنبا الى جنب مع ال general purpose registers للوصول الى اي عنوان في الذاكرة .
: special purpose registers
• EIP the instruction pointer.
• flags register - determines the current state of the microprocessor.
: Flag registers الرايات
ان الرايات يتم تغييرها تلقائيا من قبل المعالج بعد تنفيذ عمليات رياضية و منطقية. انها تسمح بمعرفة نتيجة العملية و تحديد الشروط لنقل التحكم الى اجزاء اخرى من البرنامج
تنقسم الرايات الى 3 اقسام
1 .رايات غير مستعملة اي انها لا تفيد في الحكم على اخر عملية و هي موجودة فقط في حالة تطوير المعالج ربما يحتاجون الى رايات اضافية فيمكن استغلالها هكذا
2. رايات الوضع و هي الرايات التي تتاثرو تتغير حسب وضع العمليات التي تقوم بها وحدة الحساب و المنطق في المعالج .
3. رايات السيطرة و هي رايات المبرمج يتحكم بوضعها فاذا وضع بداخلها القيمة 1 تبقى هذه القيمة حتى يغيرها المبرمج في البرانامج عن طريق اوامر برمجة خاصة بها
اعرف ان الدرس صعب قليلا لكن انصحكم بالقراءة عدة مرات و يمكنم البحث قي جوجل عن مزيد من المعلومات اذا اردتم
انتم لستم مطالبون بحفضهم لانكم مع التطيبيقات في الدروس القادمة ستتعودن عليهم
و في الاخير اشكركم على حسن القراءة و اتمنى ان لا تنسوني من صالح دعائكم
و السلام عليكم و رحمة الله و بركاته
hg[.x hgehkd lk ]vs l;,khj hgluhg[