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

هل استطيع دفع الوسائط لدالة عن طريق تعليمة Mov؟

بدأه DATA_SNIPER في 10 أغسطس 2008 · 3 رد · 1,272 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم.

اريد الإستفسار عن هذه الطريقة في دفع البارميتر لدالة التي تكون عن طريق تعليمة mov شاهد الصورة.

post-88726-1218391068_thumb.png

infected.png

مدونة علوم الحاسب

#2

التعليمة Push تضع قيم ما بالمكدس Stack

بدلا من ان تستعمل Push يمكنك التعامل مباشرة مع المكدس ووضع القيم التي تريدها بالمكدس مباشرة بMov

وهو ما بالصورة فوق

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

d4baa0.gif
#3

ما الفائدة من ذلك ولماذا اختار مبرمجوا ++DEV C هذه الطريقة.

infected.png

مدونة علوم الحاسب

#4

هذه الطريقة هي المستخدمة في مترجم MinGW , السبب ربما هو امكانية دفع الـArg في اي مكان , مثلا يمكن دفع الباراميترز بالعكس او مبعثرين لن يهم طالما ان العنوان في المكدس ثابت , غير في حالة push يلزمك الترتيب ... هذا الأمر ربما يتبع الـOptimization في هذا المترجم .

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…