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

ما الخطأ في طريقة ترجمة هذا الكود ؟؟

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

حاولت ترجمة الكود التالي عن طريق MASM

******************************

.MODEL SMALL

.code

Start:

mov ah,2

mov dl,41h

int 21h

mov ah,4ch

int 21h

end Start

End

***********************

وكانت الطريق كالتالي :

c:\>masm>qq ;

ولم يكشف المترجم عن وجود أخطاء

ثم حاولت الربط كالتالي :

c:\>masm> link qq;

فظهرت لي هذه الرسالة :

LINK : warning L4021: no stack segment

فهل هناك خطأ في الطريقة التي استخدمتها ؟؟

أرجو التوضيح لأنني مبتدئ جدا في عالم الأسمبلي الكبير .

#2

أخي شادي

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

وإكتب

masm  aa.asm  aa.exe

وستلاحظ ظهور أكثر من ملف في نفس المجلد منها aa.exe و aa.obj ,..

وبهذا تكون تمت الترجمة

أما إذا كتبت الأمر link والملف التفيذي موجود في نفس المجلد سيظهر لك خطأ

---

اقتباس
no stack segment

لتجنب حدوث مثل هذة الأخطاء عرف قيم المسجلات , كما يلي

.MODEL SMALL
.STACK 64h
.DATA
.code

Start:

mov ah,2
mov dl,41h
int 21h

mov ah,4ch
int 21h

end Start

End

---

http://www.jaascois.com

*************************************************

مجموعة مواضيع - إحتراف البرمجة -

ّ~~~~~~~~~~~~~~~~~~~~~~

البرمجة المتقدمة & الهندسة العكسية & برمجة وأمن الأنظمة

/index.php?showtopic=45002

آخر المواضيع :

+- تحليل جرائم الكمبيوتر -+

أنظمة اليونكس(Solaris,HP, AIX,SCO)وانواع المعالجات

ثغرة SMS لأجهزة الجوال Siemens 3568i !

أخطاء وثغرات البرامج العربية !!!

سلسلة مواضيع - أمن وحماية مواقع الويب -

E البرمجة المتقدمة X للملفات التنفيذية E

سلسلة مواضيع ثغرات الأنظمة وإختراق الأجهزة

**************************************************

<span style='font-size:14pt;line-height:100%'>الإرادة تحـــقق السيـــادة</span>

**************************************************

#3

الف شكر أخي jaas ولكن هل هناك فرق بين هذين الأمرين في ترجمة الكود ؟؟

masm  aa.asm  aa.exe

وبين

masm aa;

هل كلا الأمرين صحيح

تحياتي

#4

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

الأخ شادي : إن ما أعطاك اللنكر LINK : warning L4021: no stack segment

كما تلاحظ ليس خطءا بل إنذار ولو تشغل البرنامج الذي أعطاك ستجده شغالا تماما. وهذا الإنذار سوف لن يؤثر في حالة البرنامج ويمكن أن نستغنى عنه. وهذا كله لأنك لم تعرف Segment للستاك وهنا سيأخذ الكمبايلر ستاك أوتوماتيكيا.

إلى اللقاء.

#5

الف شكر لكما

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

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