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


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

 

 الدرس الثانى

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


ذكر عدد المساهمات : 396
نقاط : 146692
العمر : 65

الدرس الثانى Empty
مُساهمةموضوع: الدرس الثانى   الدرس الثانى Emptyالإثنين مايو 11, 2009 10:09 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 بلغة البيسك
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://rsma-m.yoo7.com
 
الدرس الثانى
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» عذاب القبر و كيفيه النجاه منه الجزء الثانى
» الدرس الاول
» الدرس الثالث
» الفوتوشوب الدرس الاول
» الدرس الرابع البرنامج الاول

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
.:رسمه مبدع:. :: ¨°o.O (لغات البرمجه) O.o°¨ :: .:لغه التجميع الاسمبلى:.-
انتقل الى: