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

اسئلة مهمة

مغلق
بدأه prince of egypt في 19 نوفمبر 2002 · 3 رد · 1,125 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

انا مبتدى فى الاسمبلى لدى عدة اسئلة اريد حاها وجزاكم الله عنا - اعضاء المنتدى - خير الجزاء

هذا برنامج بسيط مكتوب بلغة الاسمبلى اريد تنفيذ هذا البرنامج مباشرة دون استخدام الاسمبلرواظهار النتيجة على شاشة

مع العلم انى افترضت طول الامر بواحد بايت لانى لا اعلم الاطوال الحقيقة لهذه الاوامر

lods AX,3

add Ax,4

stos Ax,5

5

6

البرنامج يقوم بجمع الرقمين 5 و6 ويحزن الناتج فى النايت رقم 5

انا اكتب البرنامج فى النوت باد واخزنه كملف تنفيذى والمطلوب

1 ما هى الاطوال الفغلية لهذه الاوامر

2 ماهى التعليمات المطلوب اضافتها لتفيذ البرنامج

3 كيف اظهر النتيجة

اسف جدا للاطالة

وجزاكم الله عنا خير الجزاء

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

#2

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

1-افظ الملف" asm." .

2-حول البرنامج الى "obj." عن طريق "tasm.exe" وإذا لم يكن لديك البرنامج فحمله من النت.

3-حول ال "obj." إلى "exe." عن طريق برنامج "tlink.exe".

4-اكتب اسم البرنامج كامل في الدوس مثال:

c:\ta\print.exe

#3

Hi;

Sorry to write in english cause I have not Arabic in this computer and if you want we can rediscuss this later or may be tomorrow.

First I want to tell you that it is not the right way to do what you want and we don't use the lods instruction as you did.

LODS take a byte or word from the source wich is the register SI and sto do the reverse .

If you want to add for example 5 and 6 you can do it as:

mov ax,5

add ax,6

here you have the result in ax and you can do with it what you want.

I am preparing some axamples for assembler and I think I will be ready sooner.

CIAO

#4

إضافه على رد أخى chick :-

-------------------------------

لا يمكنك أخى الكريم أن تكتب أى كود برمجى ويتم تنفيذه بدون الكومبايلر أو المفسر لهذا الكود

إذن لا تعتقد أنك عندما كتبت الكود على النوت باد كنص فقط يؤهلك إلأى تقنع الجهاز بتشغيله ...! طبعا لا (مكانش حد غلب)

ولكن وظيف الأسمبلى الرئيسيه هى تحويل ما كتبته أنت على النوت باد إلى كود الأله والتى يستطيع البروسسور فهمها وتنفيذها واحده تلو الأخرى ولا تنسى أخى العزيز أنه أيضا يضيف بعض الأجزاء التى توحى لنظام التشغيل أن هذا ملف قابل للتشغيل (EXE) وتنهى الكود أيضا بأجزاء مشابها والتى لايمكن التعرف عليها إطلاقا أو الحصول على هذه الأجزاء إلا بإستخدام برامج معينه.

أطلت عليك...المهم

لا يمكنك تشغيل كود الأسمبلى إلا من خلال الأسمبلر.

--------------------------------------------------------------------------------------

طريقه أخرى:-

---------------

عن طريق برنامج Debug وهذا موجود فى Start - run - debug

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

يمكنك إستخدامه كالأتى:

بعد التشغيل ستظهر لك علامه كالأتى

-

إكتب a 100

Enter

سيظهر لك عنوان , هذا العنوان هو العنوان التى سوف تبدأ منه كتابة الكود

إكتب mov ax,5

Enter

أكتب add ax,6

Enter

إضغط Enter ثانية لإنهاء الكود

أكتب g ومن بعدها العنوان الذى كتبه لك كاملا فى أول الكود مثال 0b05:0100

Enter

سيقوم بتنفيذ أول تعليمه

أكتب T

Enter

سيقوم بتنفيذ التى تليها

وفى كل مره سيظهر لك محتويات الرجسترات و ستلاحظ تغير قيمة الax على أساس القيم التى أدخلتها أنت.

شرح:-

g للبدأ فى تنفيذ مجموعة تعليمات تبدأ من العنوان المعطى

t تنفيذ التعليمه التى عليها الدور (واحده تلو الأخرى)

a حجز مكان فى الرام لإدخال تعليمات الأسمبلى

مزيد من الدوال قم بكتابة ? للمساعده

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

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