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

عضو جديد و اول مشاركه

مغلق
بدأه احمد غريب في 10 أبريل 2004 · 18 رد · 2,335 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اما بعد:

اسئل المولى عز و جل ان يوفق القائمين على هذى الموقع, وقد سعدت لوجود قسم للاسمبلى فيه..

لقد عكفت على دراسة الاسمبلى منذ اكثر من 10 سنوات, والان اعمل كباحث فى إحدى الجامعات الاروبية.

اود إذا سمح لى المشرف بالقيام بشرح الفلات موديل اسمبلى بلغة ماسم32(مكروسوفت اسمبلى) .

الفلات موديل اسمبلى هو برمجة وندوز بلغة الاسمبلى, والتى اعتبرها اقوى لغة برمجة على الاطلاق.

حتى لا اطيل عليكم ارفق لعبة طورتها بلغة ماسم32 ارجو ان تنال اعجابكم

فكرة العبه هو ترتيب مربعات الصوره المبعثره.

بزر الفئرة الشمال تختار المربع الذى تريد تبديله, ثم تختار المربع الذى تريد تبدله به.

بزر الفئرة اليمين تستطيع ان تري الصورة كاملة, وحين تترك الزر الايمن تعود الصورة المبعثرة.

تستطيع ايضا ان تختار ارقام بدل الصورة

معذرة على ضعف اللغة العربية, هذه هى ثمار الغربه

اخوكم فى الله احمد

تحرير : معذرة الملف اكبر من 500ك لذلك وضعته فى هذا الرابط

http://www.nada.kth.se\~su00-aab\mosaic.zip

تم رفع المرفق على سيرفر الفريق العربي

mosaic.zip

تم تعديل هذه المشاركة بواسطة HGB في 22 أكتوبر 2007 في 16:58

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#2

السلام عليكم

أشكر السيد أحمد على هذه المحاولة وأتمنى أن يكون هناك من يهتم بهذا الجانب من البرمجة وكما أن Masm32 قد سهل البرمجة إلى حد كبير وكما قلت وأقول دائما أن من يعرف برمجة س بطريقة API قد يلج هذه البرمجة بسهولة فهي تسير على نفس المنوال

إلى اللقاء.

#3

السلام عليك يا اخ احمد

انا عضو جديد في المنتدى واتعامل مع لغة الاسمبلي منذ سنوات لكن للاسف انا اتعامل فقط مع اسمبلي 16 bit واحب ان اتعلم الاسمبلي 32 بت ارجو ان تساعدني في هذه المهمة .

مثلا : ما هو نوع ال- compiler الذي انا بحاجة اليه

ماذا يمكن ان ابرمج في هذه اللغة

وهل يمكن استخدام مكتبات من لغات ثانية مثل لغة C

وما هو نوع الملف النهائي الذي احصل عليه بعد عملية masm و link

وشكرا لك

#4

السلام عليكم

حياك الله اخى الحبيب عافيف, و إن شاء الله نستفيد من خبرات بعض:

و إليك إجابه على اسئلتك :

اولاٌ للإنتقال من 16 بت الى 32 بت فهذا اسهل ما يكون, ولن تجد اى صعوبه إن شاء الله.

فى ال 16 بت كنا نستخدم المودبلات, Large,small الخ , اما فى ال 32 بت فهى موديل واحد فقط وهو Flat .

ميزة ال Flat موديل هى انك لا تحتاج الى segment مختلف لل data, و ال code.

اما بالنسبة للمسجلات (Registers) فكل مسجل تضاف اليه حرف ال E ليصبح 32 بت. مثال على ذالك AX يصبح EAX وهكذا.

كذالك لا تحتاج لاستخدام far و near فكل محتويات البرنامج من code و data موجوده فى نفس ال segment .

الادوات التى نحتاجها للبرمجه هى:

compile+32bit linker

http://webhost.ccp.com/~win32/hutch/m32v82r.zip

IDE 2.0.4.2 full package

http://radasm.visualassembler.com

وكلاها مجان

نوع الملف الذى تحصل عليه هو EXE .

اما بالنسبة لمكتبات لغة C فقد قمت بشرح كيفية إستخدامها فى هذا الرابط:

/index.php?showtopic=39841

وحياك الله معنا فى المنتدى.

والسلام

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#5

السلام علكيك يا اخ احمد

اولا اود ان اشكرك على ردك السريع وتعاونك معي

لقد قمت في تنزيل البرامج من الانترنت. السؤال هو هل هنالك شروط لتنصيب هذه البرامج (install)

لقد قمت بتنصيب البرنامج الاول (copiler+linker) وقمت بتنزيل IDE 2.0.4.2 full package

السؤال هو ماذا اعمل مع full packege وما هي وظيفتها وهل اضعها في مجلد (folder)

معين ام لا

وشكرا لك

#6

السلام عليكم

نعم اخى ضع الملفات فى مجلد folder و لا تحتاج لاى تنصيب, وظيفتها بكل بساطه انها تسهل عملية كتابة الكود, وتجعل برمجة الوندوز سهلة للغايه.

هناك 6 درس لكيفية إستخدام RadASM فى نفس الموقع والذى هو.

http://radasm.visualassembler.com/

إختر من القائمه RadASM tutorials و انا تحت الخدمه إن شاء الله تعالى لو واجهتك اى مصاعب.

والسلام

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#7

السلام عليكم

لقد قمت بتنصيب البرنامج وظهر editor المطلوب .

احضرت كتابا يشرح اساسيات برمجة الاسمبلي 32 بت وبدأ اقرا في الكتاب المشكلة انه لا يعرض المبنى العام للبرنامج اي ما هي مكونات البرنامج. هل يمكن ان تبعث لي تمرينا بسيطا يقوم بجمع عددين ويحفظ النتيجة في EAX مثلا.

وما هي الخطوات التي يجب ان اقوم بها بعد كتابة البرنامج اي كيف تتم عملية التحويل من المصدر الى الشكل النهائي (exe)

وشكرا لك

#8

السلام عليكم

لقد قمت بوضع برنامجين, احدهما Hello World.exe و الاخر add.exe يحتاج البرنامجين الى مكتبت ال سى والتى سبق ان ذكرتها فى مداخله سابقه, لقد قمت بوضعها على هذا الربط :

http://www.nada.kth.se/~su00-aab/crtdll.zip

عليك ان تضع ctrdll.inc تحت c:\masm32\include و ctrdll.lib تحت c:\masm32\lib.

والسلام

example.zip

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#9

السلام عليكم

لقد نسخت كل المكتبات في الاماكن المطلوبة وبدأ فعلا البرنامج يقوم بعملية asm+link ويظهر ملف exe ولكن عند التشغيل لا يظهر البرنامج شيئا

لقد قمت بتشغيل ملف add.exe والملف helloword.exe التي قمت انت بكتابتها وايضا هنا لم يظهر على الشاشة اي شيء

ارجو المساعدة لتشغيل ومشاهدة النتائج

my computer

intel pentium 4 2G

ram 256 Mbyte

#10

السلام عليكم

لقد قمت بتشغيل البرنامجين فى ال command line و البرنامجين يعملان.

انا اعمل على الوندوز XP , ولا اعرف ما المشكله لديك.

حاول تشغيل البرنامج من ال command line و وندوز XP وارجو ان تبلغنى بالنتيجه.

والسلام

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#11

السلام عليكم,

البرنامجين شغالين تماما . في البرنامج Hello إذا شغلناه بالنقر عليه قد تظهر النافذة وتختفي بسرعة ولا نرى ما مكتوب فيها أما إذا شغلت عن طريق Command فهي تبقى حتى نقفلها نحن ولكن في البرنامج الآخر فالشاشة يجب أن تبقى على الأقل حتى ندخل الرقمين.

فأنا من جهتي أفكر في تهييء بعض الدروس فيما يخص masm32 وسأحاول برمجة Hello Word بطريقة أخرى أي بدون استعمال المكتبات ctrldll فقط باستعمال API الموجودة في Kernell32 حتى نرى أيضا كيف تبرمج نوافذ الكنسول من أساسها ونعلم أيضا أن Masm فيه بعض الدوال الخاصة بالكنسول من بينها StdIn و StdOut للقراءة والكتابة على شاشات الكنسول.

أتمنى أن يوفقنا الله في مهامنا وإلى اللقاء.

#12

السلام عليكم

الى الاخ احمد غريب لقد ذكرت لي في الرسالة السابقة ملفين.

الاول:ctrdll.lib.وهذا وجدته في الوصلة المذكورة

اما الثاني ctrdll.inc لم اجده حتى بعد ان قمت بحل الملف المرفق الذي يحتوي على الملف الاول

وشكرا

#13

السلام عليكم

موجود اخى فى نفس الملف المضغوط, ولكن للإحتياط اضعه هنا ايضاً.

والسلام

crtdll.inc

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#14

السلام عليكم

لقد قمت بتشغيل البرامج التي كتبتها انت بعد اضافة الملف الاخر فهي تعمل الان ولكن اذا قمت بفتح الملف add.asm بمساعدة المحرر masm32editor وقمت بعملية

assemble & link من القائمة project فتتم عملية التحويل ولكن الملف النهائي لا يظهر شيئا اي انه لا يعمل كما يجب حتى عندما استخدمت الامر run program من project لم يظهر شيئا وعنما انتقلت الى dos command وحاولت التشغيل لم ينفذ شيئا

ما السبب وكيف يمكن اجراء عملية assemble & link من خارج المحرر

هل يمكن ان توضح الامرين

c:\>ml /c /coff add.asm

c:\>link /subsystem:console add.obj

الملفان ml و link موجودان عندي في المجلد c:\>masm32\bin

تم تعديل هذه المشاركة بواسطة afeef في 27 أبريل 2004 في 00:20

#15

السلام عليكم

ml هو الكمبيلر و يقوم بإعطائك ال object file والذى هو من نوع coff .

امى لنك فهى لعمل ال exe file .

اعتقد ان ال path لديك غير معرف, لذالك عليك بتعريف ال path اولاً هكذى :

c:>path=%path%;c:\masm32\bin

ثم القيام بعملية ال compile + link :

والسلام

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#16

السلام عليكم

اخي احمد

انني لست بحاجة الى تعريف المسلك path لانني وضعت الملفات في نفس المجلد وانا اعمل في نفس المجلد ارجو منك ان تنظر الى الصورة المرفقة مع الرسالة

Doc2.doc

#17

السلام عليكم,

الأخ afeef على ما يبدو من خلال الصورة عندك خطئان الأول وهو :

c/coff / وهنا يعني أننا ندخل 2 command lines لدى يجب الفرق بينهما وترك فراغ بينهما ويجب كتابة c / فراغ coff / والثاني هو عدم وجود الملف الدي نريد بناؤه وهدا سيكون إما نتيجة الخطء الأول المدكور أعلاه أو أن الملف add.asm ليس موجودا في نفس المجلد.

وكما أقول دائما ولتجنب أي أخطاء من هدا النوع يمكن أن ننعطي المسار الكامل ل ml و link ونشغلها من داخل مجلد الملف الدي نريد بناؤه كمثل :

c:\masm32\bin\ml /c /coff add.asm

وللمزيد يمكن مشاهدة الدرس الدي أكتبه في هدا الوقت وسأضعه بعد قليل إثر إتمامه.

وفقنا الله لمزيد من العلم وإلى اللقاء.

#18

السلام عليكم

شكرا لك هذا التنبيه.

انت على حق لم تكن هنالك فراغات بين اجزاء الامر . الحمد لله رب العالمين البرامج تعمل الان بشكل صحيح.

#19

الرابط الصحيح في اول مشاركة في الموضوع

http://www.nada.kth.se\~su00-aab\mosaic.zip

قطرة الماء تـثـقب الحجر.. لا بالعنف. لكن بتكرار المحاولة

at4re.gif

منتديات الفريق العربي للهندسة العكسية 不喜欢的勿入! www.at4re.com

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

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