سلسلة الراغبين في ملخص لغة اسمبلي للمبتدئين (الدرس السادس)

 السلام عليكم

بسم الله الرحمن الرحيم
اليوم سنكمل التعرف على باقي المسجلات registers
وقد وصلنا الى index registers :-
وغالبا يستخدم في إعطاء عنوان العناصر الداخلية (indexed addressing) واحيانا تستخدم في الجمع و الطرح .
يوجد نوعين من هذه المسجلات :-
Source index (SI,ESI)
Destination index (DI,EDI)
سنتعرف الان على أهم
Control registers :-
هي عبارة عن 32 bit من pointer registers و 32 bit من flag registers مدمجة
أغلب الاوامر في الاسمبلي عبارة عن مقارنات و عمليات حسابية و هذه الاوامر هي التي تغير وضع ال flag registers وبعض الاوامر تعتمد على هذه التغييرات من أجل القيام بأمور أخرى
حسنا ، ما هي هذه flag registers ??
هذه الرايات (flags)هي عبارة عن بت واحد فقط إما صفر وإما واحد .
الرايات هي :-
Overflow Flag (OF) :-
هذه الراية تتغير الى 1 (set to 1 )عندما يحدث فيض (overflow)في المسجل بعد القيام بعملية معينة مثلا عند القيام بعملية جمع ADD بين رقمين موجبين والنتيجة تصبح سالبة
Signed overflow
مثلا :-
0100 + 0100 = 1000
Direction Flag (DF) :-
هو الذي يحدد الاتجاه يمينا أو يسارا من حيث تمرير أو مقارنة الكلمات (strings)
اذا كان df صفرا الاتجاه يكون من اليسار لليمين
اذا كان df واحد الاتجاه يكون من اليمين لليسار
Interrupt Flag (IF) :-
هو الذي يقرر أن يتم تجاهل الأجهزة الخارجية مثل لوحة المفاتيح ام لا .
0 :- لا يتم تجاهلها
Enable interrupts
1:- يتجاهلها
Disable interrupts
Sign Flag (SF) :-
هو يظهر إشارة الناتج من العمليات الحسابية
0 :-
الناتج موجب
1 :-
الناتج سالب
Zero Flag (ZF) :-
يتغير حسب الناتج من العمليات الحسابية أو المقارنات
اذا لم تكن النتيجة صفر zf = 0 (clear)
اذا كانت النتيجة صفر zf =1 (set)
Carry Flag (CF) :-
تشبه overflow flag ولكن الفرق انها لل
Unsigned overflow
----------------------------------------
سنتعلم أيضا عن نوع اخر من المسجلات و تسمى
Segment registers
ما هي segment
هي مناطق معينة في البرنامج تحتوي على المعلومات (data) و الكود (code) و stack
وهناك ثلاث أنواع رئيسية منها :-
Code segment :-
يحتوي على جميع الاوامر التي سيتم تنفيذها و
CS (16 bit )
يحتوي على بداية العنوان الخاص ب code segment
Data segment :-
يحتوي على المعلومات (data) و الثوابت (constants ) و work area
Stack segment :-
يحتوي على البيانات (data) و return address الإجراءات ( procedures) ويتم تنفيذه ك stack
حيث ان مسجل SS ,يحتوي على عنوان بداية ال stack
#####################
انتهى #الدرس_السادس لليوم لكم حرية مشاركة المنشور للجميع لكن لا تنسوا ذكر المصدر
وان كان هناك أي أخطاء في المعلومات أو أخطاء في الاملاء (فرحوا جماعة الاملاء

) فانا ساتقبل النقد البناء
اتمنى مشاركة المنشور حتى يستفيد الجميع فزكاة العلم نشره

Comments