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

مشكلة مع masm

مغلق
بدأه allko في 2 سبتمبر 2005 · 14 رد · 1,480 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي البرنامج التالي...وقد اخذته من احد الدروس للاخ chik

هو صغير لابعد حدود فالغرض مننه التجربة فقط

.model small
.code
start:

mov ah,4h
int 21h

end start
end

لكن بعد كتابة الكود لم اعرف كيف اقوم بعملية الـassembling وlinking

فلدي برنامج masm32

وقد صادفتني العديد من المشاكل ففي البداية عندما اخترت

project >> assemble ASM file

ظهرت الرسالة التالية

 Assembling: C:\documents.asm
MASM : fatal error A1000: cannot open file : C:\documents.asm
 Volume in drive C has no label.
 Volume Serial Number is 4200-34E1
 Directory of C:\

وكان البرنامج لا يجمّع الا الملفات ذات الاسم documents الموجودة في المسار c:/documents.asm

حسنا غيرت اسم ومكان الملف وتمت العملية

بالعودة الى C وجدت ملف باسم documents.obj

انتقلت الى الامر project >> link OBJ file

وظهرت مشكلة اخرى من خلال نافذة الدوس التالية

02_09_05_07_53_58_1125672838masm.GIF

فما هو الحل

تحياتي للجميع

#2

السلام عليكم

السؤال هو هل تحاول تعلم الاسمبلى 16 ام 32, لانك كتبت برنامج 16 وتحاول تشغيله بمترجم 32 علميته الترجمه ليس فيها مشكله ولكن عندما تحاول دمج المبرنامج فإن الـlinker سيعترض عليك بشده لانك تستخدم اوامر البيوس والmodel small او اى موديل غير الflat .

لذلك عليك ان تحدد نوع لغة التجميع التى تريد تعلمها وبعد ذلك تحاول الحصول على المترجم الذى يناسبها.

والسلام عليكم

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

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

#3

اخي العزيز احمد غريب

شكرا جزيلا لاهتمامك

انا بتعلم ال16 بت

بس انا اعتقدت ان ال masm32 بما انو قادر على التعامل مع ملفات 32bit فطبيعي

يقدر يتعامل مع الاقل تطور والي هيا 16bit

الظاهر اني غلطان

بس من وين اجيب masm16 ؟ لاني دورت بكتير مواضيع وما في غير masm32

وشو مشكلة الmodel small ؟ هل هادي مخصصة لل16 بت يعني؟

تحياتي

تم تعديل هذه المشاركة بواسطة allko في 2 سبتمبر 2005 في 20:06

#4

اولاً الكمبايلر المخصصه لنظام 32 لايستطيع ترجمة ال16 بت, كذلك لا يوجد فى ال32 سوى model واحد فقط وهو الflat للحصول على كمبايلر لنظام ال16 عليك ان تبحث عن masm الاصدار رقم 5 وللاسف لا اعرف موقع معين ولكن قم بعملية بحث بسيطة عن طريق الجوجل وستجده إن شاء الله..

والسلام عليكم

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

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

#5

معي tasm كنت تريد

TASM.rar

أضاعوني وأي فتى أضاعـوا * * * ليـوم كــريهـة وســـداد ثغــــر

وخـــــلونـي ومعتـرك المنايـا * * * وقد شـــرعوا أسنــتهم لنحـري

كأني لم أكــــــن فيهـم وسيطـا * * * ولم تك نســبتي في آل عمــرو

أجرر في الجـــوامع كـل يـوم * * * ألا لله مظــــلمتـي وهـصـــري

عسى الملك المجيب لمن دعاه * * * سينجيني فيعلم كيــف شكـري

فأجـــزي بالكرامـة أهـل ودي * * * وأجزي بالضـغينة أهل ضري

منتديات الرياضيات العربية

#6

اخ احمد شكرا جزيلا على التوضيح سابحث عن الاصدار الخامس

اخ رومانوف شكرا ايضا

لكن هل التاسم المرفق مخصص لل16 بت

؟

على العموم جاري التحميل

#7

رومانوف من اين حصلت على التاسم العجيب هذا!!! :rolleyes:

ظننت ان ال Turbo Assembly الذي لدي هوا الTASM

لكن بقي تحويل ملف .obj الى .exe

وقد ظهرت الرسالة التالية

02_09_05_11_44_29_1125686669tasm.GIF

على العموم تحياتي لك ولااخ احمد

#8

الظاهر انك تستخدم نفس الlinker فى هذه الحاله ايضاً, واعتقد السبب هو ان الlinker الخاص بميكروسفت موجود فى المسار (path), كما اعتقد ايضاً ان الlinker الخاص بالturbo assembler إٍسمهه tlink وليس link.

كل هذه الاعتقادات سببها رقم الاصدار للlinker الذى تستخدمه والذى يظهر فى الصوره القديمه والجديده ...

والسلام عليكم

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

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

#9

انا ارفقت masm16 في موضوع تاني مش فاكر مين كان صاحبه.. و lazy to s33k :)

على كل : الكود فيه غلط -> 4Ch مش 4h

النقطة التانية حاول تضع الملفات مع المجع في مجلد واحد لانه masm احيانا بيتغابى اذا في مسار الملف فراغات! وهاد الشي شفته مع c:\document (انت كنت حاطط الملفات على سطح المكتب وهو ما قبل الفراغ بعد documents and settings)

masm.zip

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#10

ممتاز يا اخ Xacker :D :D :D

واخيرا نجحت العملية 100% من اولها لاخرها باستخدام masm16

وبرضه باستخدام ال tasm

انا بصراحة ضايع شوية يعني مش عارف انا الي كنت استخدمه تاسم ولا ماسم ولا حاسم ولا خاسم ولا مين!! :wacko:

انا لسى مش عارف شو كانت المشكلة لاني كنت حاطط كل الملفات بمجلد واحد واستخدمت الاوامر المناسبة :rolleyes:

على العموم الشكر للاخ احمد غريب لانو اول واحد تعاون معايا وللاخ رومانوف والاخ xacker

بس يا اخ xacker اذا ما فيها غلبة بس ياريت ترد عليا في موضوعك " مقدمة الى لغة التجميع"

واذا مشغول فخلص ما في مشكلة :)

على فكرة يا اخ احمد...مش عارف ليش في الموضوع الي كنت كاتبه انتا بعنوان لماذا يبتعد المبرمجون عن الاسمبلي مش عارف كيف كان الاعضاء يقولو انها صعبة...انا مش شايفها كتير صعبة بعدين حاسسها ممتعة :rolleyes: (لاحظ اني بتكلم عن ال assembly16 الي المفروض انها صعبة فبما بالك بال32)

مع انها اول لغة اتعلمها ...

#11

المشكله هى ان سمعة الاسمبلى سيئه لانها كانت فى قديم الزمان وسالف العصر والاوان صعبه جداً ولكن معى تطور المترجمات وتطور المعالجات اصبحت سهله, والمشكله الثانيه هى ان الكثيرين يعتقدون انه لابد من تعلم الاسمبلى 16 قبل الاسمبلى 32 معى انه العكس افضل, يعنى بعد ان تتقن الاسمبلى 32 يمكنك الانتقال لل16 إذا كنت تنوى القيام بعمل نظام تشغيل.

وعشان اكون معاك صريح انا اجد صعوبه فى التعامل معى مترجمات السى بلس بلس والدلفى لانها تخفى عن المبرمج اشياء كثيره, مثلاً السى بلس بلس تتعامل معى المؤشرات معى انه لايوجد شيئ إسمه مؤشرات فى المعالجات هناك عناوين ولكن يتم إخفاء العنوان وتسميته مؤشر فى لغة السى بلس بلس...

والسلام عليكم

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

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

#12
احمد غريب كتب:
وعشان اكون معاك صريح انا اجد صعوبه فى التعامل معى مترجمات السى بلس بلس والدلفى لانها تخفى عن المبرمج اشياء كثيره, مثلاً السى بلس بلس تتعامل معى المؤشرات معى انه لايوجد شيئ إسمه مؤشرات فى المعالجات هناك عناوين ولكن يتم إخفاء العنوان وتسميته مؤشر فى لغة السى بلس بلس...

عالعموم انا الان قرات كتاب عن الاسمبلي 16 بت وصار عندي خلفية واضحة عنها

والفصل الجاي حندرس في الجامعة ثقيلة الظل السي بلس بلس واشوف شو قصتها...

بيني وبينك انا الاسمبلي عاجباني كتير وناوي اتعلمها للاخر :rolleyes: !!

#13

بالنسبة للرد اخي allko هلأ كنت عم احكي مع الاخ احمد بهالموضوع.. المشكلة انه مسالة مناقشة تفاصيل المعالجات صعبة.. ومش شوي <_< عشان هيك ما كتبت رد لانه ما لقيت شي بقدر لخصه! بالتالي انا عم حضر موضوع كامل عن هالشي فيا ريت تنتظر شوي كمان بس ;)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#14

فعلا يا جماعه البرمجه بالسى ممتعه و لكن هناك أشياء كثيره تخفيها ال سى عن المبرمج و أحيا نا تحس انك بتكتب اسكربت

بس الاسمبلى قريبه من الجهاز أوى و بتفهمك ازاى العمليه بتتم

فعلا الاسمبلى متعه

زاز

اللهم لا اله الا أنت سبحانك انى كنت من الظالمين

#15

خود وقتك اخ xacker ما بدي اعطلك عن اشغالك :D

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

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