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

معلومات جيدة عن برمجه الاسمبلى

بدأه Neo_2010 في 10 مارس 2008 · 4 رد · 1,871 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

General Information and Tips about Assembly, Executable Files (EXE, COM)

-EXE Header Block size is at least 512 Bytes and this block written by Linker before file block.

-COM program has only one segment block (Code Segment) and its size at least 64K and its content PSP (Program Segment Prefix) whereas block size 256 Bytes.

-COM program hasn't Data, Stack segment compared with EXE program.

-Program Segment Prefix (PSP) size is 100 Bytes and placed in memory before EXE execution.

-OS perform all registers with (PSP) address when load COM program in memory.

-Every segment divided into more than one offset.

«How OS Manage EXE Program Execution»

1. Locate and access *.exe file from hard disk.

2. Build initial space in memory called (PSP) Program Segment Prefix from 0x00H to 0x100H.

3. Load (*.exe) file after 0x100H directly.

4. Load DS (Data Segment) and ES (Extra Segment) with address of PSP.

5. Load CS (Code Segment) with code segment address and Initial IP (Instruction Pointer).

6. Load SC (Stack Segment) address in SP (Stack Pointer).

7. Give handle to exe file execution.

«How to Convert (*.exe) to (*.com) »

1. Compile (*.asm) File to (*.obj) File with TASM.

C:\TASM\BIN>TASM C:\ [File (*.asm)], C:\,C:\,C:\

2. Link (*.obj) File to (*.exe) File with TLINK.

C:\TASM\BIN>TLINK C:\ [File (*.obj)]

3. Get exe2bin tool.

C:\X2B C:\ [File (*.exe)]

تم تعديل هذه المشاركة بواسطة Xacker في 10 مارس 2008 في 06:51

#2

جزاك الله خيرا و في المرفق سورس للتحويل من exe لـcom و العكس و طبعا السورس asm

:)

تحذير : البرنامج تقيل :(

exe_com.rar

تم تعديل هذه المشاركة بواسطة croconile في 10 مارس 2008 في 06:07

rasool4k.gif

[وسط]mimetex.cgi?MSN:root@root-shell.net.

[/وسط]

#3

ملعومات جميلة ولكن الا يوجد مصدر كبير لهذه الامور ؟ فانا افكر في محاولة كتابه مجمع عندي كتاب اسمه advanced assembly langauge الفصل الاول منه يشرح الفرق بين ال com و ال exe و لكن الا يوجد شرح مفصل؟! دورت علي النت علي MZ files و لكن المواضيع كانت مختصرة لا تتعدي صفحة واحده :(

لا اله إلا الله

#4

يوجد شرح لاباس به في ملف HELPPC مرفق في احد المواضيع السابقة

والسلام عليكم ورحمة الله

d4baa0.gif
#5

وبمناسبة الحديث عن تحويل EXE الى COM كنت قد كتبت بريمج صغير يقوم بذلك EXoM ولا اتذكر اين الملفات المصدرية (Pascal+Asm)

http://exetools.com/files/protectors/dos/exom004.zip

d4baa0.gif

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…