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

[ تمت الإجابة ]Far Jmp

بدأه romioo في 7 يناير 2010 · 6 رد · 790 مشاهدة · في أرشيف قسم الـــ Assembly
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلامو عليكم

ممكن لو سمحتوا حد يقولي ايه هو ال سينتاكس بتاع ال far jmp وشكرا مقدما

تم تعديل هذه المشاركة بواسطة romioo في 7 يناير 2010 في 01:31

#2
romioo كتب:

سلامو عليكم

ممكن لو سمحتوا حد يقولي ايه هو ال سينتاكس بتاع ال far jmp وشكرا مقدما

ماذا تقصد بالـ "syntanx بتاع الـ far jmp" ؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

my question is

i can jmp to a certain label by two ways near and far

if i used near jmp the code will be like that

jmp label

but if i used far jmp

how would the code looklike?

#4

سيبدو أيضاً:

jmp	label

والسبب ببساطة هو أن الأسمبلر سيحدد المسافة بشكل اوتوماتيكي ويختار الـ opcode والـ mnemonics المناسبة.

i'll tell you what..

الأسمبلر يقوم بالتالي:

  1. إن كانت اللافتة label ضمن المقطع segment الحالي (الذي توجد فيه تعليمة JMP) فالأسمبلر يختار أحد النمطين NEAR / SHORT اوتوماتيكياً بناء على المسافة.
  2. إن كانت اللافتة label تقع ضمن مقطع آخر، الأسمبلر سيختار النمط FAR اوتوماتيكياً.

بالنسبة لنا كمبرمجين، سنرى الكود بالشكل

jmp	label

أما بالنسبة لنظام التشغيل فالبرنامج بعد التجميع والربط (assembling & linking) سيحتوي على الـ opcodes المناسبة والتي لا تراها بشكل مباشر وإنما يظهر لك الفرق بعد أن تنظر إلى الملف بـ hex editor مثلاً أو بعد disassemble.

قد تفيدك مراجعة كتاب Art of Assembly، الفصلين الذين يتحدثان عن الـ directives و الـ x86 instruction set.

1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

جزاك الله خيرا اخي علي تعبك معايا

بس اذا كان بيعملها اتوماتيك يبقي ليه يبديني error

?????????????

#6

ضع الكود حتى نرى..

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#7

اوكي خلاص انا حليت المشكله بفضل الله

احب اشكرك جدا علي تعبك معايا

تم تعديل هذه المشاركة بواسطة romioo في 11 يناير 2010 في 00:53

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