ملف تنفيذي DOS MZ
تنسيق DOS MZ القابل للتنفيذ هو تنسيق الملف القابل للتنفيذ المستخدم لملفات .EXE في أنظمة التشغيل DOS و Windows .
يمكن التعرف على الملف من خلال سلسلة ASCII "MZ" ( بالنظام الست عشري : 4D 5A) في بداية الملف ( الرقم السحري ). "MZ" هي الأحرف الأولى من اسم مارك زبيكوفسكي ، أحد أبرز مطوري نظام MS-DOS . [ 1 ]
يُعد ملف MZ DOS التنفيذي أحدث من تنسيق COM التنفيذي، ويختلف عنه. يحتوي رأس ملف DOS التنفيذي على معلومات إعادة التوطين ، مما يسمح بتحميل عدة مقاطع في عناوين ذاكرة عشوائية، ويدعم ملفات تنفيذية أكبر من 64 كيلوبايت ؛ ومع ذلك، لا يزال هذا التنسيق يتطلب حدودًا منخفضة نسبيًا للذاكرة. وقد تم تجاوز هذه الحدود لاحقًا باستخدام موسعات DOS .
معالجة القطاعات
توجد بيئة برنامج EXE الذي يتم تشغيله بواسطة DOS في بادئة مقطع البرنامج الخاص به .
تحتوي ملفات EXE عادةً على أقسام منفصلة للتعليمات البرمجية والبيانات ومكدس الذاكرة. يبدأ تنفيذ البرنامج من العنوان 0 في قسم التعليمات البرمجية ، ويتم ضبط مؤشر المكدس على القيمة الموجودة في معلومات الترويسة (على سبيل المثال، إذا حددت الترويسة مكدسًا بحجم 512 بايت، فسيتم ضبط مؤشر المكدس على 200h). من الممكن عدم استخدام قسم مكدس منفصل واستخدام قسم التعليمات البرمجية مباشرةً للمكدس إذا لزم الأمر.
يحتوي سجل DS ( قطاع البيانات ) عادةً على نفس قيمة سجل CS (قطاع التعليمات البرمجية) ولا يتم تحميله بعنوان قطاع البيانات الفعلي عند تهيئة ملف EXE؛ من الضروري أن يقوم المبرمج بتعيينه بنفسه، ويتم ذلك عادةً عبر التعليمات التالية:
MOV AX , @ DATA MOV DS , AXإنهاء الخدمة
في واجهة برمجة التطبيقات الأصلية لنظام التشغيل DOS 1.x ، كان من الضروري أيضًا أن يشير سجل CS إلى المقطع الذي يحتوي على PSP عند إنهاء البرنامج؛ وقد تم ذلك من خلال التعليمات التالية:
اضغط على DS XOR AX ، AX اضغط على AXثم يتم إنهاء البرنامج بواسطة تعليمة RETF، والتي تسترجع عنوان المقطع الأصلي مع PSP من المكدس ثم تقفز إلى العنوان 0، والذي يحتوي على تعليمة INT 20h.
قدمت واجهة برمجة التطبيقات DOS 2.x وظيفة إنهاء برنامج جديدة، وهي INT 21h Function 4Ch، والتي لا تتطلب حفظ عنوان مقطع PSP في بداية البرنامج، ونصحت مايكروسوفت بعدم استخدام طريقة DOS 1.x القديمة.
التوافق
يمكن تشغيل ملفات MZ DOS التنفيذية من أنظمة التشغيل DOS وأنظمة التشغيل المبنية على Windows 9x . ويمكن لأنظمة التشغيل المبنية على Windows NT ذات 32 بت تشغيلها باستخدام آلة DOS الافتراضية المدمجة (مع العلم أن بعض أوضاع الرسومات غير مدعومة). أما إصدارات Windows ذات 64 بت فلا يمكنها تشغيلها. وتشمل الطرق البديلة لتشغيل هذه الملفات التنفيذية برنامجي DOSBox و DOSEMU .
يمكن إنشاء ملفات MZ DOS التنفيذية بواسطة برامج الربط ، مثل Digital Mars Optlink أو MS linker أو VALX أو WLINK من Open Watcom ؛ بالإضافة إلى ذلك، يمكن لـ FASM إنشاؤها مباشرة.
انظر أيضاً
للمزيد من القراءة
- بول، ماتياس ر. (2002-10-07) [2000]. "رد: تشغيل ملف COM" . مجموعة الأخبار : alt.msdos.programmer . تاريخ الاسترجاع: 2017-09-03 .
{{cite newsgroup}}: CS1 maint: deprecated archiveal service ( link ) - ماتياس بول (2002-10-07). "مشاكل متعلقة بموقع masm.com (PSP)" . مجموعة نقاش alt.lang.asm .
- إيجر، بوب (16 ديسمبر 2024). "ملاحظات حول تنسيق ملفات DOS .EXE" . مواد مرجعية لـ PHOBOS . تم الاطلاع عليه بتاريخ 18 ديسمبر 2024 .
مراجع
- ↑ نظرة معمقة على تنسيق ملفات Win32 التنفيذية المحمولة: نظرة معمقة على تنسيق ملفات Win32 التنفيذية المحمولة - مجلة MSDN، فبراير 2002. مؤرشف في 11 يوليو 2018 على Wayback Machine . "يبدأ كل ملف PE بملف تنفيذي صغير لنظام MS-DOS. ... تبدأ البايتات الأولى من ملف PE برأس MS-DOS التقليدي، المسمى IMAGE_DOS_HEADER. القيمتان الوحيدتان المهمتان هما e_magic وe_lfanew. ... يجب تعيين قيمة حقل e_magic (كلمة) إلى 0x5A4D. ... في تمثيل ASCII، يمثل 0x5A4D الأحرف الأولى من اسم مارك زبيكوفسكي، أحد المصممين الأصليين لنظام MS-DOS."
روابط خارجية
- تنسيقات الملفات القابلة للتنفيذ
- تقنية DOS
