what are these rigsters esp,eax .... ? and what do we do with them ?
and are they better than : AX BX CX DX SS SP CS ...........
or do they have different functions ? :wacko:
what are these rigsters esp,eax .... ? and what do we do with them ?
and are they better than : AX BX CX DX SS SP CS ...........
or do they have different functions ? :wacko:
==================================
السلام عليكم,
إن الرجسترات sp ax bx وغيرها هي رجسترات من سعة 16 بت . أما الرجسترات مثل eax فهي من سعة 32 بت وهي تعني extended ax . فلكل رجستر 16 من غير رجسترات السكمنت له ما يقابله في 32 ونتعرف عليه بزيادة الحرف e في أوله.
ولا يمكن أن نقول أن هدا أو داك أحسن من الآخر لأن لكل عمله وميدان شغله.
إلى اللقاء.
السلام عليم
esp,eax....
ظهرت بظهور معالجات 32 bit
وحجمها ضعف حجم ax,bx......
هذا ما أعرفه عنها
السلام عليكم,
طبعا هناك اختلاف لأننا سنشتغل في بيئات مختلفة. ولكن على العموم فطريقة البرمجة وأقصد التعليمات فستكون تقريبا متشابهة في أغلب الحالات.
وهنا فإن الهدف عو الدي سيجعلنا نختار بين البرمجة في 16 أو 32 بت.
إلى اللقاء.
السلام عليكم,
هنا تبقى نفس الإشكالية . فأنت تريد تعلم الهندسة العكسية ويبقى دائما نفس التساؤل هل نريد أن نعكس برامج 16 أو 32 بت . وهنا أقول أنه يبقى نفس المبدئ تقريبا في هذا الميدان ولكن هناك فرق في النظام وفي الرجسترات وفي التعامل مع الذاكرة على الخصوص.
وبما أن الآن برامج 16 بت بدأت تقل كل يوم ولهذا قد نقول أنه ربما عكس هذه البرامج قد لا تكون له أي معنى ولذا قد أنصح التعلم في 32 بت . علما أنه حين نكتسب بعض الخبرة سيسهل علينا المرور من ميدان إلى أخر.
إلى اللقاء.
ok then
32 bit programs are the most spread, so ofcource i will learn 32 bit assembly
but, what compiler should i use and what lessons should i read ?
thanx in advance !
==================================
فقط للإضافة:
السجلات Registers في معالجات Intel و المعالجات المكافئة لها هي سجلات من حجم 16 بيت في معالجات صنف8086 و هي ax و bx وcx و dx و si و di و bp وsp بالإضافة إلى سجل Flags.
السجلات: dx,cx,bx,ax هي سجلات تتركب من سجلين من صنف 8بيت مرصوصين جنبا لجنب لتكوين سجل من 16بيت.
ف AX مثلا هو سجل من 16بيت : 8 الثمان بيت الأولى تكون سجل يسمى ب AL; الثمان بيتات الأخيرة تكون سجل يسمى ب AH.
فإذا كان في ax قيمة 0h , و أدخلنا في AH قيمة 01h فإن قيمة AX ستتغير و ستصبح هي 0100h.
عند ظهورمعالجات 80386 كبرحجم هذه السجلات لتصل إلى 32بيت..
وهي eax و ebx و ecx و edx و esi و edi و ebp و esp و fs و gs و ss و cs و ds و es. وكذلك Eflags.
طريقة التعامل مع هذه السجلات يفرض علينا معرفة طريقة دمجها في المعالج
فكمثال للسجلEAX فهو سجل من 32بيت الثمان بيتات الأولى هي السجل AL, و الثمان بيتات التي تلي Al هي AL, Ah جنبا لAH أي 16 بيت الأولى من السجل EAX هو نفسه السجل AX..
هذه الثرثرة يعبر عنها الرسم التالي: 
هذا تفصيل لكل بت من سجل flags:

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين
يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.
اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.
الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.
إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.
و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله
أخوكم مراد
السلام عليكم,
فيما يخص كمبايلرات الأسمبلر 32 بت هناك مجموعة من الكمبايلرات وكل واحد قد يفضل البرنامج الذي تعود على التعامل معه وأنا شخصيا أستعمل Masm32 لهذا الغرض ويمكن تحميله من عدة مواقع وقد سبق وأعطينا مجموعة روابط للتحميل في هذا المنتدى.
فيما يخص التعلم فإذا كنت تعرف برمجة API في لغة أخرى مثل س مثلا فأضن أنه ستجد سهولة في التعلم وقد سبق وأعطيت بعض الدروس في هذا المنتدى لتعلم الأسمبلر 32 بت وقد تخليت عن ذلك لعدم وجود مهتمين بهذا كما يوجد في النت عدة مواقع فيها دروس وإذا حملت Masm32 فستجد فيه عدة أمثلة مهمة ومتنوعة.
أتمنى لك التوفيق وإلى اللقاء.
هذا الموضوع مغلق.