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

[ تمت الإجابة ]Set Segment Registers

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

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

أخواني قبل أن نقوم بكتابة البرنامج في لغة الأسمبلي نقوم بوضع هذا الكود

mov ax, data
mov ds, ax
mov es, ax

ما الفائدة عندما نقوم بهذا ؟

Danial Tarraf

Prelware D&D Association

Lattakia/Syria

#2

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

في برامج الدوز توجد هناك منطقة في الذاكرة تسمى Program Segment Prefix هذه المنطقة PSP تسبق البرنامج وتحتوي على معلومات عن البرنامج وتستطيق التعامل معها في برنامجك عن طريق أحد المقاطعات .. في البرامج التنفيذيه EXE المسجلين DS,ES يتم تهيئتهما بعنوان PSP ه

psp.gif

هنا في حاله كان البرنامج يحتوي على بيانات (في الجزء .DATA في MASM) ، فيجب أن تقوم باعطاء DS عنوان مقطع البيانات الحقيقي حتي يرتبط بها بدلا من psp ، وذلك من خلال @DATA (هذا الكلام بالنسبة لMASM ) وهي تخرج لك رقم مقطع البيانات وتقوم بنقلها الى DS (طبعا لن نستطيع نقل رقم الى مسجلات Segment مباشره ، لذلك نستخدم أي مسجل وسيط لعمليه النقل) ..

بالتوفيق :) .

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

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

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

#3

شكراً أخي الكريم على هذا الرد المفيد

سأحاول أن أفهم ما قمت بكتابته ,,

تم تعديل هذه المشاركة بواسطة Prelware D في 4 أغسطس 2009 في 01:03

Danial Tarraf

Prelware D&D Association

Lattakia/Syria

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