منتديات برامج نت
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي
منتديات برامج نت
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي
منتديات برامج نت
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتديات برامج نت

برامج كمبيوتر و انترنت لغات برمجه و تطوير مواقع قسم خاص بالتصميم و الجرافيك
 
الرئيسيةPortalأحدث الصورالتسجيلالدرس الثانى. I_icon_mini_registerدخول
اهلاوسهلا بكم في منتديات برامج نت ارجو من جميع الزوار التسجيل مع تحيات $الادارة$

 

 الدرس الثانى.

اذهب الى الأسفل 
كاتب الموضوعرسالة
DESGINER

المدير العام...}


DESGINER



الدرس الثانى. Empty
مُساهمةموضوع: الدرس الثانى.   الدرس الثانى. Icon_minitimeالأربعاء مارس 18, 2009 4:19 pm

الدرس الثاني :



المخزن stack

· هو جزء من الذاكرة لتخزين أشياء مختلفة

· يتم التخزين باستخدام الأمر push

· يتم استدعاء القيمة المخزنة بالأمر pop

· إذا قمت بتخزين عدة قيم فأول قيمة يتم تخزينها هي آخر قيمة تسترد

يمكن التشبيه للقيم المخزنة بمجموعة أطباق عند وضعهم فوق بعضهم البعض

فان أول طبق يوضع أسفلهم و لكي نحصل عليه يجب ان نرفع ما فوقه أولا

[في لغة التجميع يمكن استخدام نفس الطبق عدة مرات]

مثال

Push ax معناها خزن محتوى المسجل ax في الذاكرة ...1 (الطبق الأول)

Mov ax, 1 ضع القيمة 1 داخل المسجل ax

Push ax معناها خزن محتوى المسجل ax في الذاكرة ...2(الطبق الثاني)

………..

………..

pop ax يتم استرداد القيمة 2 وهي في مثالنا الحالي =1

Pop ax يتم استرداد القيمة 1 و التي تم تخزينها أولا

الأمر mov

تطرقنا لهذا الامر في المثال السابق و هو يكافئ الأمر let لمن لديه فكرة عن لغة البيسك بالنسبة للغة التجميع فهي اختصار للفعل move بمعنى انقل او حرك لقيمة معينة الى داخل السجل و يأخذ احد هذه الأشكال

· Mov eax,00000001 انقل القيمة داخل المسجل eax

· Mov eax,ebx اجعل قيمة eax تكافئ قيمة ebx

· move ax,[ebx] اجعل قيمة eax تكافئ القيمة الموجودة بالعنوان المحفوظ داخل المسجل ebx

نلاحظ ان

· [ebx] تعني محتوى عنوان داخل المسجل و ليس المسجل نفسه

· الحرف e ببداية المسجلات لاننا نتعامل مع مسجلات 32 بت

· يمكن وضع عنوان للذاكرة بالمسجل و التعامل مع العنوان بعد ذلك عن طريق المسجل

· ما ينطبق على الامر mov ينطبق على باقي الاوامر من حيث التعامل مع القيم و محتويات المسجلات و محتويات العناوين المحفوظة بالمسجلات

الامر CMP

· الامر يعني قارن بين قيمتين

· يؤثر على الحالة Z للبيان FLAG

· Z تساوي 1 بمعنى ان الناتج من المقارنة =0 أي تساوي القيمتين

· عدا ذلك فان Z تساوي 0 دلالة على عدم تساوي القيمتين

· CMP EAX,5 قارن قيمة بمحتوى المسجل

· CMP EAX,ECX مقارنة محتوى مسجلين

· CMP EAX,[EBX] مقارنة محتوى مسجل بمحتوى عنوان

الامر JMP

· سأقول ببساطة انه يعني اذهب الى

· JMP ECX اذهب إلى ماذا ؟ سأخبرك سأفترض أن محتوى المسجل EAX هو XX هل تذكر الاوفست إذا فاعلم أن OFFSET=XX العبارة الان واضحة اذهب الى السطر XX

· JMP 018249 الأمر سهل مباشر اذهب الي السطر 018249

· الأمر يشبه GOTO بلغة البيسك
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
الدرس الثانى.
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» الدرس الثانى
» الدرس الثانى
» متابعه الدرس الثانى
» الدرس الثانى فى الدوره الممتازه
» صندوق الادوات الجزء الثانى

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات برامج نت :: :::: المنتديات التقنيـــــه :::: :: لغات البرمجه :: لغه التجميع الاسمبلى-
انتقل الى: