اغلق هذه النافذة  أنت غير مسجل بشبكة ابن الخليج; للتسجيل اضغط هنا; للمساعده وشرح طريقة التسجيل اضغط هنا

شبكة ابن الخليج

Sitemap | Archive | Tag Could
التسجيلالبحثمشاركات اليوماجعل جميع المنتديات مقروءةالأرشيفاعلن معنا





مدخل عام إلى لغة الأسمبلي + معجم التجميع

مناقشة موضوع مدخل عام إلى لغة الأسمبلي + معجم التجميع في دروس لغات البرمجة; مدخل عام إلى لغة التجميع: معالج أي حاسب لا يفهم أية لغة، لا الباسكال ولا السي ولا الجافا، ولا حتى التجميع في حد ذاته، إنما يفهم شيئا واحدا، هو لغة الآلة. إنها قائمة من ثمانية أعداد تسمى البتات bits، وت ...

العودة منتدى ابن الخليج> منتديات تعليمية> دروس لغات البرمجة

{ مِنَ الْمُؤْمِنِينَ رِجَالٌ صَدَقُوا مَا عَاهَدُوا اللَّهَ عَلَيْهِ فَمِنْهُم مَّن قَضَى نَحْبَهُ وَمِنْهُم مَّن يَنتَظِرُ وَمَا بَدَّلُوا تَبْدِيلاً } الأحزاب23

حادثة الإفك - تفسير ابن كثير وشرح عثمان الخميس



صوتي شرح الشيخ عثمان الخميس لمختصر منهاج السنة النبوية لشيخ الإسلام ابن تيمية كتاب ألفه للرد على الإمامية وهو أشهر كتاب في الرد على الشيعة

رد
 
LinkBackأدوات الموضوعطرق مشاهدة الموضوع
قديم 06-28-2006, 10:51 صباحاً   #1 (permalink)
اسرة ابن الخليج
 
الصورة الرمزية الهوى ماهو كلام
 
تاريخ التسجيل: Jul 2005
الدولة: *K S A*
المشاركات: 4,815
معدل تقييم المستوى: 659الهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيط
إرسال رسالة عبر مراسل ICQ إلى الهوى ماهو كلامإرسال رسالة عبر مراسل MSN إلى الهوى ماهو كلامإرسال رسالة عبر مراسل Skype إلى الهوى ماهو كلام
افتراضيمدخل عام إلى لغة الأسمبلي + معجم التجميع

مدخل عام إلى لغة التجميع:
معالج أي حاسب لا يفهم أية لغة، لا الباسكال ولا السي ولا الجافا، ولا حتى التجميع في حد ذاته، إنما يفهم شيئا واحدا، هو لغة الآلة. إنها قائمة من ثمانية أعداد تسمى البتات bits، وتكون مقدمة في النظام الست عشري، على شاكلة "B0h 12h". ومنه يمكننا القول أن التجميع هو إصدار يتوافق مع فهم البشر للغة الآلة.

المثال السابق يعطينا "mov al, 12h"، ومعناها نسخ القيمة 12h في السجل AL. ستفهم معنى ذلك بعد قراءتك لهذه السلسلة إن شاء الله!

كما يمكنك ملاحظته، إنها اللغة البرمجية الأكثر قربا إلى المعالج (إلا في حالة قدرتك على البرمجة بلغة الآلة نفسها).

سؤال قد يتبادر إلى ذهنك: فيم تستعمل؟ الأهمية الأولى تتمثل في السرعة، حيث أنها اللغة التي بفضلها يمكننا تحقيق البرامج الأكثر سرعة، وخاصة في ميدان الرسومات.

ثانيا، يمكنك الوصول إلى مقاطعات الدوس (interruptions)، والتي تسمح بالوصول المباشر إلى العتاد، كالفأرة أو الشاشة أو حتى بطاقة الفيديو. لأن المترجم (compiler) لا يعمل إلا على ترجمة البرنامج المكتوب بلغة يفهمها الإنسان إلى لغة التجميع، وهذه العملية يمكن القيام بها يدويا بعد تدريب طويل في هذا الميدان. كما يتيح لنا التجميع إمكانية معرفة ما يتوفر عليه ملفنا الثنائي (ملف تنفيذي .exe أو .com في بيئة مايكروسفت).

بعض المتمرسين في البرمجة وخاصة القراصنة، لا يستخدمون إلا التجميع في برامجهم، والسبب هو إنجاز برامج سريعة وصغيرة، وفي نفس الوقت تحقيق مرادهم من خلال قرصنة البرامج أو ببرمجة ما يرفضه المترجم كالفيروسات.

المختصون في البرمجة لا ينصحون أبدا بأن يقوم المبرمج بإنجاز برنامجه 100% بلغة التجميع، لأن الكود سيفقد مرونته وتكثر أخطاءه، مما يفقد السيطرة على برنامج يتكون من آلاف الأسطر، على اعتبار أن كل تعليمة تقع في سطر واحد. وإنما ينصح باستخدام التجميع لتحسين أداء بعض الدوال أو الإجراءات في لغة البرمجة التي تعتمدها (السي، الباسكال ...)، والتي تحتاج لسرعة قصوى، سواء لدوال تطلب لمرات عديدة، أو تلك المسؤولة عن القيام بوظائف معينة، كرسم خط، أو نسخ قطاع كامل من الذاكرة...الخ.



معجم التجميع:
المصرف: هو برنامج يقوم بتحويل كود مصدري (ملف نصي، أما للتجميع، فالملف يكون ذو توسع .asm) إلى كود الآلة، يعني إنشاء ملف ثنائي (ملف ذو توسع -امتداد- .obj أو .exe أو .com).

الست عشري (Hexadecimal): في نظام العد المتداول بين الناس، نستعمل الأرقام العربية، والمحصورة بين 0 والـ 9، إذن ما مجموعه 10 أرقام، والرقم الأكبر هو 9 (10-1). نقول إذن عن هذا النظام أنه نظام عشري decimal. فالعدد 451 يمكننا تفكيكه على شكل:

( 4×100) + (5×10) + (1×1)= 4×10 2 + 5×10 1 + 1×10 0.

النظام الست عشري ينتهي عند 16، والسبب الذي دفع إلى ذلك هو تمثيل النظام الثنائي بأقل عدد ممكن من الأرقام. فكما نعلم جميعا، فالنظام الثنائي يتكون من رقمين فقط، وهما الـ 0 والـ 1، ولتكوين أي رقم آخر، فإننا نكتب متوالية من الأصفار والوحدات على شاكلة 01101001 وهذا الرقم يمثل 105 في نظام عدنا الذي نستعمله يوميا، ولكن لتمثيل أعداد كبيرة نحتاج إلى أصفار ووحدات كثيرة، مما يسبب العديد من الأخطاء ويضيع الوقت، ويعقد الفهم، لهذا جاء دور النظام الست عشري ليحل الإشكال، ويعوض كل أربعة أرقام ثنائية برقم ست عشري واحد.

01101001 = 1001 و 0110 = 9 و 6 = 69 في النظام الست عشري.

النظام الست عشري يبدأ من الـ 0 وينتهي عند الـ 15، ولكن الأرقام الستة الأخيرة (من 10 إلى 15) تتكون من وحدتين، وهذا ما سيخلط الأمور، لهذا تم تعويضها بحروف،

ملاحظة: يشار للرقم في النظام الست عشري بعدة رموز:

ففي لغة السي نشير إلى الرقم بالسابقة 0x، أما في لغة الباسكال، فيسبق الرقم رمز الدولار، وفي لغة التجميع يشار إلى الرقم أنه ست عشري من خلال اللاحقة h

Ox14 في لغة السي = $14 في لغة الباسكال = 14h في لغة التجميع.

ملاحظة: لغويا، العدد هو الكتابة الحرفية للرقم، والرقم هو الكتابة الرمزية للعدد.

البايت (Byte): البايت هو متوالية من ثمانية بتات (8 bits)، فإذا كان البايت مرمّزا (signed) فإنه يمكنه أخذ قيمة محصورة بين –128 و +127 (128= 2 8-1 = 2 7 ، و127= 2 (8-1)-1)، إذن تحتل القيم المحصورة 7 بتات فقط، والبت الأخير يستخدم للإشارة (السلب أو الإيجاب)، إما إذا كان البايت غير مرمّز فإنه بإمكانه أخذ قيمة محصورة بين 0 و 255، أي 256 حالة = (2^8).

الكلمة (Word): بما أن البايت يشغل 8 بتات، فإن الكلمة تشغل 16 بتا، وبالتالي يمكن القول أن الكلمة تحوي 2 بايت.

إذا كانت الكلمة مرمزة، فإنها قادرة على احتواء قيمة محصورة بين –32768 أي (2 15)، و 32767 أي (2 15 - 1)، أما إذا كانت غير مرمزة، فالقيمة المحتواة تكون محصورة بين 0 و65535 (2 16 -1).

الكلمة المضاعفة (Double Word أو DWord): وتشغل الكلمة من هذا النوع قيم ذات 4 بايت. إذن إذا كانت مرمزة، فإنها تكون بين –2147483648 أي (2 31)، و +2147483647 (2 31 –1)، أما إذا كانت غير مرمزة، فبإمكانها حصر قيمة تتراوح بين 0 و 4294967295.

السجل (Register): هو فراغ ذاكري موجود بصفة فيزيائية في قلب المعالج (Processor)، والذي تحفظ فيه القيم أثناء معالجتها. في البداية كانت السجلات تعمل على ثمانية بتات (بايت واحد)، وكانت تسمى آنذاك ?L (حيث يمكن للرمز " ?" أن يكون A أو B أو C أو D)، ثم تطورت السجلات إلى 16 بت (كلمة)، وصارت مسماة بـ ?X، الشيء العجيب في هذا، هو أننا لو قمنا بتغيير قيمة ?L فإننا نكون بذلك قد غيرنا الجزء المنخفض من السجل ?X. بمعنى آخر، ?X مكون من بايت ومن ?L (ويقال أيضا من جزء مرتفع وجزء منخفض). ثم بعد وصول معالجات 386، تم الانتقال إلى سجلات 32 بت، وصارت بالتالي تسمى بـ E ?X، وهنا إذا ما قمنا بتغيير قيمة ?L أو ?X فإننا نكون بذلك قد قمنا بتغيير الجزء E ?X.




السجلات القاعدية هي السجلات AX، BX، CX و DX، وهي سجلات ذات 16 بت (= 2 بايت)، وأجزاءها المنخفضة (Low) هي AL، BL، CL و DL أما أجزاءها المرتفعة (High) فهي AH، BH، CH و DH.

إذا كان AX معدوما (null)، فهذا يعني أن AL =0 و AH =0 أيضا. وإذا ما قمنا بغيير قيمة AX فإننا نغير قيمتي AH و AL معا، أما لو قمنا بتغيير قيمة AL فهذا يعني أن قيمة AX تغيرت أما قيمة AH فمازالت كما هي. (الرسم السابق يوضح الصورة أكثر).

لنلاحظ هذا المثال:

al = 15
ah = 10
=> ax = al + ah*256 = 15 + 10*256 = 2575

لمزيد من التفاصيل راجع قائمة السجلات في الدروس التالية.

القطاع والفرع (Segment & Offset): العناوين الذاكرية (مواقع البايتات على صفائح الذاكرة) معرفة بسجّلين، القطاع (الجزء المرتفع من العنوان)، وبالفرع (الجزء المنخفض من العنوان). نشير أن العنوان يحدد بـ [Segment :[Offset (حيث أن النقطتين ":" هما الفاصل، في حين يعتبر المجالان "]" و "[" غير إجباريين). مثال: [DS :[DI

مع وصول الـ 386، تطورت الفروع إلى 32 بت، من أجل الوصول إلى أقصى الذاكرة (16 ميغا بايت)، وظهرت بذلك الفروع بالسابقة E، مثل (ESI, EDI, ESP, EBP)، هذا بالنسبة لسجلات 32 بت، ونفس الشيء كان مع سجلات 16 بت، حيث كانت الفروع SI, DI, SP, SB. لمزيد من التفاصيل، راجع قائمة السجلات في الدروس القادمة.

المقاطعة (Interruption): يمكن وصف المقاطعة على أنها برنامج صغير مخزّن في الذاكرة، ويتم طلبه عدة مرات لأداء مهمة محدّدة ، وبوثيرة متزايدة أو متناقصة. يوجد على الأكثر 256 مقاطعة، فالأولى منها مدمجة في البيوس (BIOS، وهو برنامج ينفذ عند تشغيل الحاسب، والذي يسيّر العتاد: القرص الصلب، الوصول إلى الذاكرة ...)، مثل مقاطعات بطاقة الفيديو ولوحة المفاتيح.

بعض المقاطعات يتم طلبها بوثيرة ثابتة: المقاطعة 1Ch مثلا والتي هي عدّاد يزيد في القيمة 18.6 مرة/ثانية (أي يضيف 1 للقيمة المعنية). البعض الآخر يتم طلبه فقط في حالة ما إذا أردناها: المقاطعة 09h الخاصة بلوحة المفاتيح، يتم طلبها في كل مرة يقوم المستخدم بالضغط على زر ما أو عند تحريره.

المكدس (Stack): في المكدس نقوم بإضافة القيم بفضل التعليمة PUSH، ونقوم بحذفها من خلال التعليمة POP. في قمّة المكدس نجد قيمة السجلE]BP]. ويمكننا بذلك معرفة ما هو موجود في الطابق X من خلال التعليمة "[mov AX, [Bp-4"، ولكن ليس لحذف هذه القيمة، لأننا لو قمنا بحذف قيمة من وسط المكدس، فإن هذه الأخيرة تتقهقر، وهذا ما يؤدي إلى توقف الحاسب عن العمل.

الراية (Flag): الرايات هي بتات موجودة بداخل المعالج. وسنفرد لقائمة الرايات مجالاً للحديث في الدروس القادمة.



من مواضيع الهوى ماهو كلام في المنتدى
__________________
هل تريد إطفاء خطاياك وتكفير ذنوبك ؟
عليك بالصدقة
قال صلى الله عليه وسلم
'الصوم جنة , والصدقة تطفيء الخطيئة كما يطفيء الماءالنار '
الهوى ماهو كلام غير متواجد حالياً   رد مع اقتباس
قديم 07-18-2006, 04:27 مساءً   #2 (permalink)
عضو جديد
 
تاريخ التسجيل: Jul 2006
المشاركات: 3
معدل تقييم المستوى: 17TAREQ يستاهل ترحيب
افتراضيمشاركة: مدخل عام إلى لغة الأسمبلي + معجم التجميع

السلام عليكم ورحمة الله:
اشكرك شكرا جزيلا لهذا الموضوع...
وارجو منك المزيد..وسوف اتابعك
واخيرا اشكرك على جهدك...وانا معك اتابع مواضيعك



من مواضيع TAREQ في المنتدى
    TAREQ غير متواجد حالياً   رد مع اقتباس
    قديم 07-18-2006, 04:29 مساءً   #3 (permalink)
    عضو جديد
     
    تاريخ التسجيل: Jul 2006
    المشاركات: 3
    معدل تقييم المستوى: 17TAREQ يستاهل ترحيب
    افتراضيمشاركة: مدخل عام إلى لغة الأسمبلي + معجم التجميع

    ممكن تقول اننى ابدا من الصفر لاكون "Hacker"وليس"cracker"
    واقترح اضافة موا ضيع عن لغة "Python" بالتفصيل
    واخيرا اشكرك على جهدك...وانا معك اتابع مواضيعك



    من مواضيع TAREQ في المنتدى
      TAREQ غير متواجد حالياً   رد مع اقتباس
      قديم 07-18-2006, 04:31 مساءً   #4 (permalink)
      اسرة ابن الخليج
       
      الصورة الرمزية الهوى ماهو كلام
       
      تاريخ التسجيل: Jul 2005
      الدولة: *K S A*
      المشاركات: 4,815
      معدل تقييم المستوى: 659الهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيط
      إرسال رسالة عبر مراسل ICQ إلى الهوى ماهو كلامإرسال رسالة عبر مراسل MSN إلى الهوى ماهو كلامإرسال رسالة عبر مراسل Skype إلى الهوى ماهو كلام
      افتراضيمشاركة: مدخل عام إلى لغة الأسمبلي + معجم التجميع

      حياك اخي ..

      انشاء اله في القريب راح نضيف دروس في Python



      من مواضيع الهوى ماهو كلام في المنتدى
      __________________
      هل تريد إطفاء خطاياك وتكفير ذنوبك ؟
      عليك بالصدقة
      قال صلى الله عليه وسلم
      'الصوم جنة , والصدقة تطفيء الخطيئة كما يطفيء الماءالنار '
      الهوى ماهو كلام غير متواجد حالياً   رد مع اقتباس
      قديم 10-22-2006, 03:51 مساءً   #5 (permalink)
      اسرة ابن الخليج
       
      الصورة الرمزية مبحرفى ذكرياتي
       
      تاريخ التسجيل: Jun 2006
      الدولة: ذكرياتي
      المشاركات: 2,053
      معدل تقييم المستوى: 1582مبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيطمبحرفى ذكرياتي نشيط
      إرسال رسالة عبر مراسل MSN إلى مبحرفى ذكرياتي
      افتراضيمشاركة: مدخل عام إلى لغة الأسمبلي + معجم التجميع

      مشكور أخوي ويعطيك العافية وجزاك الله خيرا ...



      من مواضيع مبحرفى ذكرياتي في المنتدى
      __________________
      الحقيقة دائما تؤلم ... من تعود على الأوهام

      همسه : إن كنت تريد أن تصبح محبوبآ من الجميع سليمآ من العيوب فأنت تطلب المستحيل


      Dream ||||||||||||||||||||||||||||||||||| 59%
      مبحرفى ذكرياتي غير متواجد حالياً   رد مع اقتباس
      رد

      العبارات الدلالية
      لغة


      أدوات الموضوع
      طرق مشاهدة الموضوع

      تعليمات المشاركة
      لا تستطيع إضافة مواضيع جديدة
      لا تستطيع الرد على المواضيع
      لا تستطيع إرفاق ملفات
      لا تستطيع تعديل مشاركاتك

      BB code is متاحة
      كود [IMG]متاحة
      كود HTML معطلة
      Trackbacks are متاحة
      Pingbacks are متاحة
      Refbacks are متاحة

      المواضيع المتشابهه
      الموضوعكاتب الموضوعالمنتدىمشاركاتآخر مشاركة
      كيف أعدل على المساحاتdarkman1001مشاكل وحلول الـ مواقع207-28-2010 04:43 مساءً
      معدل عمر الأوروبيات يفوق معدل أعمار الرجالالأسرة والصحةطب و صحة و امومة106-07-2010 12:29 صباحاً
      لعدم تعليق الكبيوترابن الرافدينبرامج كمبيوتر708-26-2009 08:43 مساءً
      للبيع شبكة ومنتديات لعدم التفرغ لأعلى سعر أدخل لن تندمأبو عبدالعزيزتبادل إعلاني و تجاري104-28-2008 05:53 صباحاً
      كيف آعدل موقعي في جوجل ؟؟نايف الشوقمشاكل وحلول الـ مواقع507-02-2007 06:02 صباحاً


      منتديات شبكة ابن الخليج

      ثقافة اجنبية ثقافة المانية معجم عربي ابن منظور عنترة بن شداد دنيا العجائب كرة قدم جديد الاناشيد نقشات حناء تغذية البشرة صحة الطفل مكياج ديور بطاطا محشيه المسرح المنزلي نقشات حناء برامج التقاط الصور برامج سطح المكتب طلبات المساعدة وتبادل الخبرات nintendo العاب كمبيوتر جديدة capflashgameaction العاب نتندو الكتيبة ترافيان فرش التراب صور منتدى رسائل محمول نقشات حناء دروس للمبتدئين دروس Paint Shop pro دروس الرسم بالفوتوشوب دروس ايميج ريدي Adobe ImageReadyدروس افتر افكت Adobe After Effect اضافات adobe premiere درس توضيح أدوات الإليستريتور و شرحها Adobe Illustrator دروس سينما فور دي ملحقات 3D Studio Max دروس سويش متقدمة دروس ماي سكيول دروس اوفيسدروس انظمة تشغيل و هاردوير و شبكاتلينكس و يونكسوندوز WINDOWS دروس BASIC نقشات حناء مكتبة الهاكات هاكات 368 vb367 قسم ستايلات vBulletinمجلة المنتديات mkPortalقسم ستايلات مجلة المنتديات mkPortal Stylesسكربتات وادوات تطوير المواقعمشاكل وحلول الـ مواقع اشهار مواقع آراءفوتوشوبCinema 4Dخامات فوتوشوبفرش فوتوشوباكشن فوتوشوباشكال فوتوشوبدليل مواقعاكتشف شخصيتكاخبارموسوعة الأطفالبوربوينتtorrentاختصار الروابطPageRankتوقيع لاميلكصانع القليترGlitterبرامج


      الساعة تعتمد على توقيت جرينتش +3. الساعة الآن 02:07 مساءً.
      Search Engine Optimization by vBSEO 3.1.0

      Valid XHTML 1.0 Transitional Valid CSS!Powered by vBulletin® Version 3.7.1,
      Copyright ©2000 - 2012, Jelsoft Enterprises Ltd
      شبكة و منتديات حبيبى نت  |  شبكة العربي  |   Feeds:   XML   JS   RSS   RSS Feed