السلام عليكــم ورحمـة الله وبركاتــه ،،
أخواني قبل أن نقوم بكتابة البرنامج في لغة الأسمبلي نقوم بوضع هذا الكود
mov ax, data mov ds, ax mov es, ax
ما الفائدة عندما نقوم بهذا ؟
السلام عليكــم ورحمـة الله وبركاتــه ،،
أخواني قبل أن نقوم بكتابة البرنامج في لغة الأسمبلي نقوم بوضع هذا الكود
mov ax, data mov ds, ax mov es, ax
ما الفائدة عندما نقوم بهذا ؟
Danial Tarraf
Prelware D&D Association
Lattakia/Syria
وعليكــم السـلام ورحمة الله وبركاتـه..
في برامج الدوز توجد هناك منطقة في الذاكرة تسمى Program Segment Prefix هذه المنطقة PSP تسبق البرنامج وتحتوي على معلومات عن البرنامج وتستطيق التعامل معها في برنامجك عن طريق أحد المقاطعات .. في البرامج التنفيذيه EXE المسجلين DS,ES يتم تهيئتهما بعنوان PSP ه

هنا في حاله كان البرنامج يحتوي على بيانات (في الجزء .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
شكراً أخي الكريم على هذا الرد المفيد
سأحاول أن أفهم ما قمت بكتابته ,,
تم تعديل هذه المشاركة بواسطة Prelware D في 4 أغسطس 2009 في 01:03
Danial Tarraf
Prelware D&D Association
Lattakia/Syria