الدرس التاسع عشر:التحكم غير المشروط،الأمر Call

تعرفنا في الدرس السابق على أمر القفز JMP و الذي يتيح لنا الإنتقال إلى جزء محدد من البرنامج بدون الدخول في عملية تحقق شرطية.يوجد أمر آخر في اسمبلي يتيح لنا الإنتقال بنفس الكيفية و لكن يمكننا من العودة إلى جزء آخر من البرنامج،الأمر هو Call.

الأمر Call في أسمبلي هو تقريبا نفس الأمر في لغة C إﻻ أن كل لغة و لها طريقتها في العمل.يكتب الأمر بالطريقة التالية Call location بحيث أن location تمثل عنوان الذاكرة الذي نريد الإنتقال إليه.

ﻻستخدام الأمر Call علينا استخدام RET و هي اختصار للكلمة return في آخر الكود و الذي يتيح العودة إلى الجزء الذي تم تخطيه من الكود البرمجي.

الأمر call يقوم بدفع (push) للكود البرمجي إلى المكدس stack و تحويل الأمر المراد تنفيذه إلى المسجل EIP.

دعونا من الكلام النظري و لننتقل إلى الجزء التطبيقي مباشرة.


أتمنى أن يكون الشرح مفهوما للجميع،ﻻ تنسوا مشاركتي آرائكم حول موضوع القالب.

تعليقات