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

[ تمت الإجابة ]مشكله في كود الاله

بدأه ذكريات الطفو في 23 يونيو 2009 · 10 رد · 2,121 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لقد وجدت كود لاله حاسبه في قسم الاسمبلي وعندما ادرت تشغيله علي برنامج التاسم يعطيني خطاء ولا اعرف السبب

هل المشكله ببرنامج التاسم

وهل هناك فرق بين برنامج التاسم والماسم لذلك يكون هناك اخطاء لا اعرف السبب

وكود الاله الحاسبه لمشرف قسم السي وقسم الاسمبلي سابقا المهندس

chilk

ومن هذا الموضوع اخدت الكود الاله

/index.php?showtopic=35405

والكود ايضا موجود بالملف التالي

calc.zip

والخطاء الذي يظهر عند تشغيل الكود علي التاسم

يظهر كتالي

2__________.rar

ارجو من يعرف السبب وكيفيه تصحيحه

مع العلم اني اريد الكود يعمل علي برنامج التاسم

فماهم التعديل الذي يجب عمله حتي يعمل الكود بشكل صحيح ويطلع عندي نتائج صحيحه

فارجو المساعده

ولكم جزيل الشكر

#2

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

مثال الالة الحاسبة مبرمج ليعمل مع MASM

TASM رائع يمكن البرمجة به باكثر من طريقة للاسف تم التوقف عن تطويره

أول سطر

غير

.MODEL  SMALL, os_dos

الى

.MODEL  SMALL

بالتوفيق

d4baa0.gif
#3

3__________.rar

B.M.AbdelAziZ كتب:

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

مثال الالة الحاسبة مبرمج ليعمل مع MASM

TASM رائع يمكن البرمجة به باكثر من طريقة للاسف تم التوقف عن تطويره

أول سطر

غير

.MODEL  SMALL, os_dos

الى

.MODEL  SMALL

بالتوفيق

شكرا كتيرررر لاطلاعك علي مشكلتي ولقدر قمت بازاله os_dos

ولم تظهر لي اخطاء ولكن المشكله اصبحت في

output

فقد ظهر الكثير من الكلام الغير مفهوم وعند ادخال رقمين لجمعهما لا يعطي نتيجه

فما هو الحل حتي احصل علي نتيجه باستخدام برنامج التاسم

والناتج ظهر معي كتالي

#4

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

مثال الالة الحاسبة يعمل حسب تصميمها

الخطا الذي ظهر نتيجة استعمالك غير الصحيح للمثال

كيفية الاستعمال

1- تختار رقم من 0 الى 3

2- تكتب الرقم الاول

3- تكتب الرقم الثاني

تظهر النتيجة ونعود الى 1

انظر الصورة

dcqako.jpg

تم تعديل هذه المشاركة بواسطة B.M.AbdelAziZ في 24 يونيو 2009 في 17:51

d4baa0.gif
#5

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

انا رئيت الصورة وانت قد استعملت برنامج التاسم وقد حصلت علي نتيجه واضحه

ولكن انا لا احصل الا علي رموز وكلام غير مفهوم

لا اعرف السبب

ولكن اري من الصورة انك لم تكتب

كود البحث عن اخطاء

مثلا انا عند تشغيل البرنامج اكتب كتالي

cd\

cd tasm\bin

edit cal.asm

فبيطلع عندي البرنامج علي الشاشه الزرقه بعملو

save and exit

برجع علي الشاشه السوداء بكتب فيها التالي

tasm cal.asm

اذا لم يكن هناك اخطاء بكتب

tlink cal

cal

ولمن اضغط انتر بعطيني كتير رمووز وكلام مش مفهوم

ولمن اضغط واحد وادخل رقمين ما بيعطيني غير اكتيررررررر رموز

اما عندما رائيت الصورة التي وضعتها لم اري اي اوامر

رئيت فقط ادخالك لرقمين

كيف هاد بسير وليش مش رادي يزبط معي نهائيا

شو المشكله ما بعرف بدي اعرفها ضروري كتير وشو اعمل حتي يطلع الناتج صحيح

وشكرا الك كتيرررر لاهتمامك بمشكلتي

#6

يبدو ان 1 2 3 فوق غير موفقة!

شاهد المرفق وبالتوفيق

TASM_CAL.rar

d4baa0.gif
#7

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

شكرا الك كتيررررررررررر

زبط معي وكل اشي تمام

بس عندي سؤال صغير الكود

هلقيت بينفع كل الداتا اعرفها فوق

.cod

يعني اكتب

.data

tmpstr dw 0

ولكن ما بيزبط

لانو يجب كتابه تعريف للداتا داخل الكود

وهناك ايضا استفسار لقد تم كتابه بروسيجر واكواد

ثم بداء البرنامج بي

start:

وكمل الكود ليش ما دخل كل الكود بعد كلمه ستارت

وسؤال اخير شو يعني لمن يكتب

addition db 10,13,"enter 1 for addition",10,13,$

شو فائده رقم 10و13

في الالكود شو وظيفتهم وشو بيعملو لاني مش عارفه

واسفه علي غلبتي لكتيررررررررره

#8

حاول الكتابة باللغة العربية الفصحى حتى افهمك ويفهم غيري

في التجميع يمكن ان تضع الData في اي مكان تريد

ان ظهر خطأ فهذا يعني سبب أخر

يمكن ان يكون هناك قسم واحد فقط code

واي قسم يضاف طبعا يعرف

end start تشير الى بدابة البرنامج او نقطة التفيذ الاولى

باقي الاوامر تنفذ حسب سير البرنامج وما به من قفزات وغيرها

الproc تنفذ عند استدعائها ويكمل سير البرنامج...

10,13 هما حرفين

نهاية السطر + الرجوع لبداية السطر التالي

d4baa0.gif
#9

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

اعتذر عن كتاباتي الغير مفهومه

وشكرا علي اجابتك ولكن ممكن وضع بدل 13و10

0dh,0ah

واردت ان اعرف ما هو التعديل الذي يجب عمله حتي استطيع كتابه تعريف الداتا خارج الكود

وشكرا لتعاونك معي

#10

0dh,0ah هي نفسها 10,13

10=0ah

13=0dh

مكتوبة بالنظام ذو الاساس 16 Hexadecimal المسمى اختصارا Hex انتبه لحرف h عند كتابتها

بالنسبة لتعريف data هناك اكثر من طريقة منها

	.data
		Addition		db  10,13,"Enter 1 for addition",10,13,'$'
		Sous			db  "Enter 2 for substraction",10,13,'$'
		Multip		  db  "Enter 3 for Multiplication",10,13,'$'

طبعا تنقل باقي المتغيرات اليه

وببداية برنامجك تغير

start:		
		push cs  ;push cs
		pop ds   ; Set ds same as cs

الى شيئ مثل

start:		
		mov   ax,seg Addition
		mov   ds,ax

في الاخير انصحك بقرائة بعض الكتب او على الاقل تصفح المةاضيع المثبتتة

بالتوفيق

d4baa0.gif
#11

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

شكرا كتيرررررررر علي المساعده

وسوف اطلع علي الكتب

وافهمها جيدا

شكرا للمساعده

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