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

الملفات التنفيذية ؟

مغلقرائج
بدأه Nokia_2006 في 4 يونيو 2006 · 88 رد · 10,595 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#76
Ahmadte1 كتب:
لدي سؤال كيف يمكن أن أعطي متحول ما قيمة المتحول الأخر بالنظام الست عشري؟؟؟؟؟

عادي، تكتب العدد بالنظام 16

في مثالنا CALL XXXX

حيث XXXX مكان ما في الذاكرة

Opcode الأمر هذا هو

E80D00

E8 تمثل CALL

0D00 تمثل XXXX

في الحقيقة لا تمثل XXXX تماما

لكن تمثل الفرق بين الموضع XXXX و المكان الموجود به الأمر CALL

في مثالنا الأمر CALL موجود في 100 مائة

0D00 بالنظام 10 تساوي13 مقلوبة مايسمى little-endian

d4baa0.gif
#77

يا أخي محمد مأريد أن أعرفه هو

لدي متحول اسمه a

لدي متحول اسمه b

a=256

أريد تعليمة تسند قيمة a إلى b بالست عشري

أي b=ff

-

في البرنامج المرفق سابقا فيه خطأ لم أعرف كيف أتفاداه

إن تجاوز L

256=ff

هذا يعني أن L

يأخذ حجما أكثر من واحد بايت

وتصبح التعليمتين التاليتين خطأ

fprintf(aasm,"%c",l);
 fprintf(aasm,"%c",0x00);

كيف سنكتب L كاملا بالست عشري بالملف

(هل الملف السابق صحيح)

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#78

الملف المرفق به خطاء

-

لديك int هو Word يتكون من 2 byte

يمكن الحصول على قيمة byte الأول فقط وكتابته في الملف

ثم تحصل على byte الثاني فقط وتضيفه للملف

هناك operator في لغة C لعمل ذلك

d4baa0.gif
#79

:D

اقتباس
هناك operator في لغة C لعمل ذلك

أنا لا أعلمها ماهي

لكنني

حللت المشكلة و هذا المرفق

لكن لم أفهم لما dubug يزيد ثلاثة على الازاحة أي

في الصورة المرفق

e85101

ألايجب أن تكون

call 0151

ومه ذلك التنفيذ صحيح (بل ويجب أن تكون 0154 حتى يعمل البرنامج) :wacko:

-

هل هذا صحيح

-

اقتباس
يا أخي محمد مأريد أن أعرفه هو

لدي متحول اسمه a

لدي متحول اسمه b

a=256

أريد تعليمة تسند قيمة a إلى b بالست عشري

أي b=ff

post-77339-1152184016_thumb.jpg

AHMAD_asm5.rar

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#80

تعاملت مع الملف وكانه BIN وهو في الواقع COM و تختلف Adress

06_07_06_04_24_00_1152185040mycode.JPG

-

لتضع قيمة a في b استعمل Mov او استعمل Push/pop

d4baa0.gif
#81
اقتباس
هناك operator في لغة C لعمل ذلك
اقتباس
أنا لا أعلمها ماهي

ماذا بعد ذلك أخي محمد

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#82

السلام عليكم لقد نتهيت من المعسكر اخي محمد

و سنتابع الموضوع باذن الله

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#83

أخي محمد أين أنت؟؟؟؟؟؟؟!!!!!!!!!!!

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#84

كنت منشغل بهذا /index.ph...iew=getlastpost

اضافة للعمل

-

نكمل، الأن نريد تحويل مثالنا ليصبع ملف تنفيذي EXE

واقصد DOS EXE و ليس PEُ

d4baa0.gif
#85

:D

الموضوع الذي شغلت به رائع

قد يفيدني و لكن فيما بعد ;)

أنتظر المتابعة

(ملاحظة عدت بنشاط بعد المعسكر فانتبه ;) )

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#86

السلام عليكم

موضوع جدا جمييييييل ومفيد

وعلشان المواضيع الحلوة في هذا القسم قررت أشارك

سؤالي هو:

عن ملفات com القديمة ، فحسب ما قرأت في هذا الموضوع ومواضييع أخرى في هذا القسم

انها لاتبدأ ب mz

وفعلا جربت على كام ملف ولم أجد mz وإنما رموز أخرى

فهل اذا كان هناك ملف تنفيذي لا يبدأ بmz يعني أنه من نوع com حصريا؟؟ :s

وهل هذه الرموزالتي في ملف com تشير مباشرة الى لغة الآلة؟؟

وشكرا للمتجاوبين

امتــــــــحـــــــــــــــــــانــــــــــــــــــــــــــــــــــــات

استر يا رب (ادعولنا).

#87
اقتباس
وهل هذه الرموزالتي في ملف com تشير مباشرة الى لغة الآلة؟؟

بالضبط الملف com يحوي شيفرة الآله مباشرة دون أي مقدمات

اقتباس
(ملاحظة عدت بنشاط بعد المعسكر فانتبه )

أخي محمد أنا مازلت جاهزا لإكمال ما بدأنا به ;)

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

#88

الله يعطيك العافية يا أحمد

الآن فهمت نقطة،

لكن أنا أمامي ملف com وهناك كود و بيانات فكيف أعرف أي منهما هو الكود والبيانات

يعني هل هم مختلطين ببعضهم ولا كل واحد منفصل.

وأين يبدأ الكود والبيانات في هذا الملف؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

وياريت يشاركنا الأستاذ محمد عبد العزيز بمعلوماته القيمة

وشكرا سلفا يا شباب

امتــــــــحـــــــــــــــــــانــــــــــــــــــــــــــــــــــــات

استر يا رب (ادعولنا).

#89

أخي capture

عندما نكتب بالأساس ملف com

نكتب

jmp start
هنا نضع المتحولات
start:
الكود

وبذلك يمكنك ملاحظة قفزة في أول ملف ال com

بعدها المتحولات

لا تنسى برنامج com

لا يحوي مقاطع

شكوت لوكيع سوءحفظـي ____ فأرشدني إلى ترك المعاصي

وقال لــــي إن العــلم نـــور ____ونـور الله لا يؤتــى لعــــاصي

هذا الموضوع مغلق.

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