اذهب إلى المحتوى

محمد الحسناوي

الأعضاء
  • المساهمات

    1
  • تاريخ الانضمام

  • تاريخ آخر زيارة

آخر الزوار

لوحة آخر الزوار معطلة ولن تظهر للأعضاء

إنجازات محمد الحسناوي

عضو مبتدئ

عضو مبتدئ (1/3)

0

السمعة بالموقع

  1. السلام عليكم، بالنسبة للبرامج الحاسوبية (كل البرامج الحاسوبية بدون استثناء) فهي عبارة عن بتات على القرص الصلب، يمكن تقسيم تلك البتات إلى ثلاثة أجزاء مهمة (انتبه معي): الجزء الخاص بالبيانات، والجزء الخاص بالأوامر، وأخيرا المخزن أو (Stock)، سأشرح لك جزء واحد وهو جزء البيانات: بالنسبة لبرامج 32 بت، فكل 32 بت من سلسلة البتات تكون ما يسمى بـ "التعليمة" وهي أدق أمر برمجي ممكن، عند التنفيذ تقدم هذه التعليمات واحدة واحدة (كل واحدة هي 32بت) إلى المعالج مباشرة لينفذها وهكذا، وهي مرتبة ومتناسقة بشكل مضبوط وأي خطأ ولو بسيط في ترتيبها سيحول على الأقل إلى نتائج غير مرغوبة وظهور رسالة خطأ، وعلى الأكثر إلى توقف النظام عن العمل وضياع البيانات، وهذه التعليمات (instructions) يمكن كتابتها يدويا واحدة واحدة لتحول إلى لغة الآلة، وهذا ما سمي بلغة التجميع (Assembly) (الجيل الثاني من لغة البرمجة)، يمكن للتعليمات أن تستدعي خدمات النظام الخ...، وتبدأ من تعليمات بسيطة مثل (mov, add) إلى تعليمات متقدمة مثل (int, cmp). L00429C1F: mov eax,[L00469CA0] push esi push 00000014h pop esi test eax,eax jnz L00429C33 mov eax,00000200h jmp L00429C39 إذا أردت فهم المزيد عن الآلية المبدئية لعمل البرامج الحاسوبية فيجب عليك تعلم أساسيات الأسمبلي، أما في حالة ما أردت معرفة كيفية عمل نظم التشغيل فعليك احتراف الأسمبلي، بالنسبة لطريقة عمل المعالج ابحث عن دروس عن "البوابات المنطقية" و"النظام الثنائي" وستفهم مبدأ عمل ليس المعالج بل كل ذارة الكترونية موجودة. ستجد ملفا مرفقا يحتوي على كود حقيقي لبرنامج بسيط، استخرجت هذا الكود بواسطة الديز أسمبلر (PeExplorer): Dis_Assempling.txt
×
×
  • أضف...