الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]نرجوا المساعدة

بدأه Prelware D في 30 يوليو 2009 · 2 رد · 1,111 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

أخواني الأعزاء أني أطلب منكم طريقة مساعدة في الحساب في لغة الأسمبلي

والمشكلة كما يلي:

مقاطع الذاكرة

مقطع الذاكرة هو جزء متصل بطول 216 = 64 Kbytes وكل مقطع في الذاكرة يتم تحديده برقم محدد يسمي رقم المقطع Segment Number وهو رقم يبدأ بالرقم 0000h وينتهي بالرقم FFFFh. كما هو معروف

بداخل المقطع يتم تحديد العنوان بواسطة إزاحة محددة Offset وهذه الإزاحة عبارة عن بُعد الموقع المحدد من بداية المقطع وهو رقم بطول 16 Bytes أي تتراوح قيمته بين الرقمين 0000h و FFFFh.

وبالتالي لتحديد عنوان محدد في الذاكرة يجب توضيح قيمة كل من المقطع والإزاحة وبالتالي تتم كتابة العنوان على الصورة:

Segment : Offset

وهو ما يسمي بالعنوان المنطقي Logical Address

ونحصل على العنوان الفيزيائي = رقم المقطع × 16+ قيمة الإزاحة

الرجاء أطلب المزيد من الشرح عن طريقة الحصول على العنوان الفيزيائي

تم تعديل هذه المشاركة بواسطة Prelware D في 30 يوليو 2009 في 13:35

Danial Tarraf

Prelware D&D Association

Lattakia/Syria

#2

وعليكــم السـلام ورحمة الله وبركاتـه..

التحويل من العنوان المنطقي للفيزيائي يتم من خلال اضافه صفر للSegment ثم جمعه مع الoffset .. يعني يمكن أن يكون القانون كالتالي :

Physical Address = Segment*16 + offset

(كما ذكرت يمكن أن تكون العمليه اضافه صفر في البدايه للSegment ) ..

نأخذ مثال توضيحي ، العنوان المنطقي F000:FFFD ، لكي نحصل على الفيزيائي :

mem1.PNG

مثال أخر 923F:E2FF :

mem2.PNG

للإستزاده :

Memory Segmentation in x86 Microprocessors

بالتوفيق :) .

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#3

السلام عليكــم ورحمـة الله وبركاتــه ،،

مشكور أخي على هذة الطريقة المفيدة وأريد أن أضيف بعض التفصيل

نقول بصنع معادلة من الشكل:

post-209213-1248984828_thumb.jpg

ولنفرض أنا قمنا بجعل الـ

Segment=F000

offset=FFFD

فيكون

post-209213-1248985794_thumb.jpg

ونقوم بحلها كأي معادلة ذو مجهول X

post-209213-1248985857_thumb.jpg

وهذة نفس النتيجة اللتي توصل إليها الأخ "Wajdy Essam"

بالتوفيق للجميع :happy:

Danial Tarraf

Prelware D&D Association

Lattakia/Syria

مواضيع مشابهة