لماذا يحتوي كود آلة الإخراج لدول مجلس التعاون الخليجي على تعليمات nop

StackOverflow https://stackoverflow.com/questions/5901827

  •  29-10-2019
  •  | 
  •  

سؤال

في كل مرة أقوم فيها بتنفيذ عملية تفريغ - أرى دائمًا رمز ASM مع مجموعات من الإرشادات nop (الإرشادات التي لا تفعل شيئًا)

على سبيل المثال ، خذ هذا البرنامج نفسه: Genacodicetagpre

يحتوي objdump لـ exampe على نقطتين في نهاية نقطة الإدخال Genacodicetagpre

وهذا مجرد مثال واحد من العديد من الأمثلة ولكنك حصلت على الفكرة.لماذا يتم تجميع كود C بهذه الطريقة؟شكرا مقدما.

هل كانت مفيدة؟

المحلول

غالبًا ما تُستخدم هذه الأشياء فقط لعمل الحشو بحيث تبدأ الأشياء اللاحقة في كلمة أو حد مرة أخرى ، حيث إن الوصول إلى التعليمات البرمجية العشوائية غير المحاذية لحدود الكلمات تكون أكثر تكلفة بكثير بالنسبة لوحدة المعالجة المركزية.

نصائح أخرى

تتم إضافة أكواد الكود العام لإجبار الوظيفة التالية على المحاذاة مع حد 4 بايت.(لاحظ أن العنوان الذي يلي آخر رمز رمز عام سيكون 40047c وهو قابل للقسمة على 4)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top