ماشاء الله تبارك الله ماشاء الله لاقوة الا بالله , اللهم اني اسالك الهدى والتقى والعفاف والغنى
" قُلْ أَعُوذُ بِرَبِّ الْفَلَقِ *مِن شَرِّ مَا خَلَقَ * وَمِن شَرِّ غَاسِقٍ إِذَا وَقَبَ * وَمِن شَرِّ النَّفَّاثَاتِ فِي الْعُقَدِ * وَمِن شَرِّ حَاسِدٍ إِذَا حَسَدَ ". صدق الله العظيم
الساده الاعضاء و زوار منتديات المهندسين العرب الكرام , , مشاهده القنوات الفضائيه بدون كارت مخالف للقوانين والمنتدى للغرض التعليمى فقط
   
Press Here To Hidden Advertise.:: إعلانات منتديات المهندسين العرب لطلب الاعلان عمل موضوع بقسم الشكاوي ::.

 IPTV Reseller

  لطلب الاعلان عمل موضوع بقسم طلبات الاعلانات اسفل المنتدى لطلب الاعلان عمل موضوع بقسم طلبات الاعلانات اسفل المنتدى لطلب الاعلان عمل موضوع بقسم طلبات الاعلانات اسفل المنتدى

Powerd By : Mohandsen.com
كل عام وانتم بخير بمناسبة عيد الفطر المبارك نسأل الله أن يتقبل منا ومنكم صالح الأعمال، وأن يمنحنا السعادة والسلام في هذا العيد وفي كل أيام حياتنا.
العودة   المهندسين العرب > المنتديات الفضائية > قسم خاص للابلاغ عن مواضيع بها روابط لا تعمل

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
  رقم المشاركة : ( 1 )  
قديم 27/9/2009, 11:54 AM
الصورة الرمزية hmada fisal
 
hmada fisal
مـهـند س مـمـيـز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو
  hmada fisal غير متصل  
الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الـجنـس :
الدولـة :
المشاركـات : 758 [+]
آخــر تواجـد : ()
عدد الـنقـاط : 40
قوة التـرشيـح : hmada fisal يستاهل التميز
افتراضي قسم خاص لبرنامج الهيكس ورك شوب




رغبة منا فى الاستفادة والافادة والتفاعل الذى ينتج من خلاله عمل جاد ومثمر .


تم عمل هذه الصفحة لكل ما يخص برنامج الهيكس ورك شوب .



نبدء اولا برابط تحميل البرنامج


من هنا احدث اصدار للبرنامج








موسوعة احترف الهيكس للاستاذ محمد فؤاد








شرح تعديل قيم الريموت للاستاذ حمادة فيصل





فك الحماية عن الباتش للاستاذ محمد فؤاد





المراحل الثلاث لفك الضغط مجمعه لكم





كما ذكرنا سابقا كل مايخص برنامج الهيكس من تساولات او شروحات سيتم وضعها هنا بداخل

المشاركة .






( كلمة اود طرحها ............. )


ان بداية اى فكرة تنشأ وتعطى الدفعه لكى نكمل هذه الفكرة ومن بعدنا ايضا يأتى من يكمل .


فلم تنشأ اى فكرة هباء ولكن من تفكير واجتهاد فكلنا ناخذ ونكمل وليس من العيب ولكن

العيب ان نبقى كما نحن فى نفس المكان ونفس الخطوة لاننا خلقنا لنعمل ونجتهد


فعليه بالتفكير المنطقى من لدية اى فكرة فليضعها وله كل الشكر ومن ليس لدية اى شىء

فعليه ان يفكر فى امره وفى تفكيرة





لكم منا ارق الامنيات


أ / محمد فؤاد

أ / hmada fisal
رد مع اقتباس
قديم 27/9/2009, 11:58 AM   رقم المشاركة : ( 2 )
عادل صبحى
نـجـم نـجـوم المهندسين العرب

الصورة الرمزية عادل صبحى

الملف الشخصي
رقم العضوية : 160526
تاريخ التسجيل : Jul 2009
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 9,416 [+]
آخر تواجـد : ()
عدد النقاط : 580
قوة الترشيـح : عادل صبحى يستاهل التقييمعادل صبحى يستاهل التقييمعادل صبحى يستاهل التقييمعادل صبحى يستاهل التقييمعادل صبحى يستاهل التقييمعادل صبحى يستاهل التقييم

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

عادل صبحى غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

لى الشرف انا اكون اول من يرد على هذة المشاركة القيمة بمعنى الكلمة من شخصين قمة فى الاخلق والاحترام والاحترف فى هذا المجال لكم منى اطيب الامنيات
  رد مع اقتباس
قديم 27/9/2009, 12:03 PM   رقم المشاركة : ( 3 )
hmada fisal
مـهـند س مـمـيـز

الصورة الرمزية hmada fisal

الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 758 [+]
آخر تواجـد : ()
عدد النقاط : 40
قوة الترشيـح : hmada fisal يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

hmada fisal غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

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


مشكور أ عادل العمدة على تلك الكلمات التى تعبر عن خلق حسن
  رد مع اقتباس
قديم 27/9/2009, 12:04 PM   رقم المشاركة : ( 4 )
hmada fisal
مـهـند س مـمـيـز

الصورة الرمزية hmada fisal

الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 758 [+]
آخر تواجـد : ()
عدد النقاط : 40
قوة الترشيـح : hmada fisal يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

hmada fisal غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

  رد مع اقتباس
قديم 27/9/2009, 12:07 PM   رقم المشاركة : ( 5 )
hmada fisal
مـهـند س مـمـيـز

الصورة الرمزية hmada fisal

الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 758 [+]
آخر تواجـد : ()
عدد النقاط : 40
قوة الترشيـح : hmada fisal يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

hmada fisal غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

  رد مع اقتباس
قديم 27/9/2009, 12:08 PM   رقم المشاركة : ( 6 )
hmada fisal
مـهـند س مـمـيـز

الصورة الرمزية hmada fisal

الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 758 [+]
آخر تواجـد : ()
عدد النقاط : 40
قوة الترشيـح : hmada fisal يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

hmada fisal غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

  رد مع اقتباس
قديم 27/9/2009, 12:09 PM   رقم المشاركة : ( 7 )
hmada fisal
مـهـند س مـمـيـز

الصورة الرمزية hmada fisal

الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 758 [+]
آخر تواجـد : ()
عدد النقاط : 40
قوة الترشيـح : hmada fisal يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

hmada fisal غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

  رد مع اقتباس
قديم 27/9/2009, 12:12 PM   رقم المشاركة : ( 8 )
المهندس حسام
مـهـند س مـحـتـرف

الصورة الرمزية المهندس حسام

الملف الشخصي
رقم العضوية : 53484
تاريخ التسجيل : Mar 2007
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 1,929 [+]
آخر تواجـد : ()
عدد النقاط : 10
قوة الترشيـح : المهندس حسام يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

المهندس حسام غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

بارك الله فيكم علي التعاون
  رد مع اقتباس
قديم 27/9/2009, 12:28 PM   رقم المشاركة : ( 9 )
hmada fisal
مـهـند س مـمـيـز

الصورة الرمزية hmada fisal

الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 758 [+]
آخر تواجـد : ()
عدد النقاط : 40
قوة الترشيـح : hmada fisal يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

hmada fisal غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

بعض الاكواد التى تم الوصل اليها:.


1- كود بداية الخلفية ( 000001b3 )

2- كود نهاية الخلفية ( 000001b7)

3- كود بداية ونهاية صوت الاشارة ( fffd)

4- كود بداية الجزء المضغوط( 789c )
  رد مع اقتباس
قديم 27/9/2009, 12:31 PM   رقم المشاركة : ( 10 )
hmada fisal
مـهـند س مـمـيـز

الصورة الرمزية hmada fisal

الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 758 [+]
آخر تواجـد : ()
عدد النقاط : 40
قوة الترشيـح : hmada fisal يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

hmada fisal غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

لغة الهيكس تسمى لغة الاسمبلى :.


- النواحي الإيجابية والسلبية في الاسمبلي:


- في البداية لنقم بتوضيح بعض الامور المتعلقة بالاسمبلي, فالاسمبلي من اقدم اللغات التي عرفها مجال البرمجة فهي تلي لغة الالة machine ******** في صعوبتها لكن في نفس الوقت تعد اسهل في التعامل من اجل التخاطب مع الحاسب, بكافة اجزائه.

فالناحية الاولى التي يتم ذكرها لمن يريد تعلم الاسمبلي هو مسالة التخاطب مع الاجهزة الملحقة بالحاسب.. من ميزات الاسمبلي:
1- السرعة في الاداة نظرا لان المجمع يقوم بتحويلها مباشرة الى لغة الالة.
2- الوضوح عند التنقيح حيث يمكن القول عن الشفرة المكتوبة بها بانها تتبع نظام What you write is what you get, اي ما تكتب تحصل عليه, ليس هناك اجرائيات تضاف من قبل المجمع كما في لغات اخرى مثل C او دلفي حيث يحمل اي تطبيق من عشرين سطر مئات وربما الالاف الاسطر البرمجية المقابلة في الاسمبلي وحدها فما بالك بمثل هذا على الكود المكتوب بلغة الالة.
3- قدرتها على الوصول الى كافة اجزاء الحاسب دون اي عائق امامها خصوصا فيما يتعلق بمسالة كتابة محركات drivers مثل محركات VxD او Sys .. التي يكون من المعقد جدا كتابتها في لغات مثل C مثلا لو لم تكن لديك الخبرة الكافية في التعامل مع العتاد البرمجي..
4- "المحمولية" او portability, فبامكان تطبيق الاسمبلي ان يعمل على اي نظام ******s دون اي اختلاف, المسالة فقط تتعلق بالمعالج المكتوب له التطبيق, فتطبيقات الاسمبلي التي تم التصريح عنها انها مكتوبة لمعالجات 386 مثلا سيكون بامكانها استخدام التعليمات الخاصة بمعالج 286 وماقبله بالاضافة الى تعليمات 386 لكن ليس بامكانها استخدام تعليمات اضيفت الى المعالج 486 (حتى لو كان الجهاز يحوي على هذا المعالج.. هذا الامر غير متعلق بتجهيزة جهاز الحاسب بالاصل لكنه متعلق بالناقلية التي سيتمتع بها هذا البرنامج)
وبما انه في يومنا هذا لم تعد تجد تجهيزات حاسوبية مدارة على معالجات اقدم من P3 فاذن يمكن فورا ان تقوم بالتصريح عن انك تريد ان تستخدم تعليمات المعالج 586 دون خوف.

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

هذا من ناحية, الناحية الاخرى التي يجب ان نتطرق لها قبل الدخول في بعض التفصيلات هي النواحي السلبية من الاسمبلي, فكما لكل امر هناك جوانب ايجابية وجوانب سلبية.

بما ان لغة الاسمبلي لغة تحتاج الى مستوى خبرة معينة قبل البدء فيها تجد الكثيرين يعكفون عنها نظرا لانها تتطلب مستوى معين من الفهم فيما يتعلق ببعض امور الدارات الالكترونية (هذا لو اردت اتقانها من الصفر تماما) ومسائل التخاطب بين العتاد البرمجي والاجهزة الملحقة وكيفية جلب وتنفيذ التعليمات ضمن المعالج وبعض التفصيلات المتعلقة بتناقل البيانات عبر الكبلات الموسعة وما الى هذا.. هذا الامر يجعل عملية الدخول في الاسمبلي غير مباشر, فانت تجد نفسك تدرس الكترونيات "نظرية" اكثر منه برمجة في البداية لكن ثق بان هذا الامر يعتبر ضروري ليس لتصبح مبرمج اسمبلي, لكن اقله لتكون على دراية كيف يعمل برنامجك وكيف يتم التعامل معه من قبل النظام فيما يخص الذاكرة او البيانات وما الى هذا.

ناحية اخرى وهي تتعلق بالصيفة المكتوبة لتعليمات الاسمبلي.. فعلى الرغم من تبسيطها لتكون بمثابة اختصارات لكلمات انكليزية معروفة تدل على معنى التعليمة الا ان "شكل" الكود المكتوب بلغة الاسمبلي قد يجعل المرء يخشى ان يبدأ بها, فمثلا تعليمة نقل البيانات mov, تعليمة الانتقال من عنوان لاخر jxx (xx تستبدل بحروف معينة تتبع تعليمة النقل هل هي شرطية اي مرتبطة بوقوع شرط معين ام غير شرطية مباشرة), تعليمة المقارنة cmp.. لاحظ كيف ان جميع هذه التعليمات تعبر عن كلمات انكليزية معروفة MOVE, JUMP, COMPARE, الخ
المسالة الوحيدة التي يجب الاهتمام بها فيما يتعلق بالتعليمات فضلا عن استخدامها هو الشروط المتعلقة باستخدام بعض التعليمات..

على سبيل المثال تعليمة النقل mov, لنفرض اني اريد ان انقل قيمة من عنوان في الذاكرة الى اخر, ليس من الممكن في هذه الحالة ان استخدم التعليمة بالشكل:

كود:
mov destination, source

الشكل السليم لهذا الامر هو ان اقوم بوضع عنوان المصدر source في احد المسجلات registers من ثم اقوم بالنقل.. بالشكل التالي:

كود:
lea register, source ; load effective address of "source" as data into "register"mov destination, [register]; move data addressed by "register" to "destination"

فاذن الموضوع ليس بالصعوبة المتصورة اذ بالامكان معرفة كل هذه الامور من خلال الاطلاع على ملف Intel opcodes المختصر الذي يوضح استخدام كل تعليمة بالاضافة الى سرد للتفاصيل المتعلقة فيها كشروط الاستخدام (من مسجل لموقع ذاكرة, من موقع ذاكرة لمسجل, من مسجل لمسجل ..) وبعض المعلومات المتعلقة بعدد البايتات الذي تحجزه (لو كنا مهتمين بمسالة حجم الملف النهائي) بالاضافة الى عدد دورات المعالج clocks (امور لا تلاحظها بالعين المجردة لكنها تظهر واضحة على التطبيقات الضخمة فالبرامج المكتوبة بلغات عالية المستوى تعاني من بعض البطئ المتعلق بالمعالجة مما يؤثر على فعالية التطبيق بينما لا تعاني تطبيقات الاسمبلي من هذا الامر على الاطلاق ان شاء الله بشرط الاستخدام الامثل للتعليمات وعدم الاكثار من عمليات مكررة او غير ضرورية كان بالامكان اختصارها ببعض سطور)

هذا اكثر ما قد يعيب الاسمبلي بصراحة هذا لو كان بالامكان تصنيف هذه الملاحظات على انها عيوب فهي مسائل يمكن تلافيها من خلال الاطلاع الذي يمكن اعتباره من باب الالمام بالشئ وليس دراسة جدية تتطلب تركيز 100% لكن تبقى مسالة الدراسة الجدية هي الافضل لمن كان محبا لتعلم هذه اللغة.
- بيئات البرمجة بالاسمبلي, 16, 32 و 64بت:


- الى هنا نكون قد انهينا بعض الافكار المتعلقة بالاسمبلي والتي تجعل الجدد متخوفين منها, ناتي الان الى ذكر الجزء المتعلق ببيئات الاسمبلي وهي الى الان ثلاثة: 16بت - 32بت - 64بت
بحق السماء ماذا يعني 16 او 32بت "anyway"!؟
ناتي هنا الى بعض المسائل المتعلقة بالعنونة وكيفية معالجتها من قبل المعالج processor, من المعروف ان المعالجات القديمة لم تكن تملك سرعات عالية كما هي عليه اليوم, لن ندخل في التفاصيل لكن فيما يتعلق بمسالة معالجة البيانات فان المعالجات تلك كانت تقوم على عنونة بايتن فقط (كل بايت = 8 بت فاذن 2 بايت = 16بت).
مسالة عنونة 2 بايت فقط تعني انه لنقل سلسلة من المحارف من مكان لاخر فان المعالج كان يحتاج الى عدد دورات اكبر, لناخذ المثال التالي مثلا.. نلاحظ كيف انه مع تطور المعالج اخذت الدورات تقل (واحيانا تزيد في بعض العمليات وفقا لتركيب المعالج نفسه)


[ معذرة ... يمكن للأعضاء فقط أن يشاهدوا الروابط ]


هذا من الناحية الداخلية لعمل المعالج, اما من الناحية البرمجية المتعلقة بالعامل البشري فكان من الممل بصراحة ان تقوم بنقل سلسلة بايتات ما من مكان في الذاكرة لاخر, فانت تضطر الى كتابة بضع اسطر فقط لتقوم بنقل 8 بايتات.. او تقوم بكتابة بضع اسطر مرتبطة بشرط متعلق بوضع الرايات flags لنقل سلسلة طويلة حيث يصبح خيار الحلقات امر غير مرغوب فيه على الاطلاق.

لذا مع ظهور 32بت ومؤخرا 64بت اصبح بامكان مبرمجي الاسمبلي تنفس الصعداء لانه صار بالامكان لهم نقل البيانات بصورة اسهل.. فما بالك بنقل 8بايتات مرة واحدة مع 64بت كانت تحتاج من قبل الى 4 دورات لحلقة ما مع 16بت او 2 مع 32بت!

من الاختلافات ايضا هو ان تطبيقات 16بت تكون محصورة بنظام DOS اي انها سوف تقوم باستخدام المقاطعات البرمجية Interrupts ليتم تنفيذها, في حين تطبيقات 32بت و 64بت سوف تكون ذات طابع مرئي GUI اي انها ستحوي على نوافذ ورسائل حوار ويتم استخدام الدوال البرمجية API الامر الذي يسهل حياة المبرمج

الاختلاف الاخر هو في كيفية تنفيذ الاوامر ومدى اختلاف التعليمات.. نظريا لن تجد اختلاف كبير في التعليمات بين 16 او 32بت, تم اضافة القليل من التعليمات التي قد لا تستخدمها بشكل اعتيادي.. اما فيما يتعلق بـ 64بت فهناك العديد من الاختلافات الجوهرية التي تجعل مسالة الانتقال اليه مسالة تحتاج الى تعامل جيد مع ما سبقه من لغات لتكون الاختلافات قليلة وصريحة.

هذا هو مفهوم 16, 32 او 64بت

- البرمجيات المستخدمة في كتابة تطبيقات الاسمبلي:
- الان ناتي الى البرمجيات المستخدمة لكتابة تطبيقات الاسمبلي, وهي برنامج واحد يسمى "مجمع" Assembler, هذا المجمع يقسم داخليا الى تطبيقين, Assembler + Linker - وقد تم شرح دورة حياة برنامج الاسمبلي من قبل في مقال باسم "عملية التجميع وتنفيذ البرنامج" في سلسلة الاسمبلي التي يمكن ايجادها في الارشيف.

فيما يخص الاسمبلر فالشائع استخدامه هو Masm, لكن هناك مجمعات اخرى رائدة مثل Nasm, Tasm, Goasm, الخ والتي تمتلك كل منها ميزات وحسنات من الصعب علي ذكرها لعدم استخدامي جميعها.

ايضا هناك برمجيات مخصصة لاضفاء بعض الحيوية على المجمعات + تزويد المبرمج ببعض الامور المتقدمة التي بامكانه الاستفاده منها في كتابة تطبيقه كتزويده بمحرر للملفات Resource اضافة الى قوائم واشرطة مرئية تحوي على تطبيقات فردية مساعدة (هنا بالطبع نتكلم عن التطبيقات المرئية)

يجدر الاشارة هنا الى ان Masm شائع الاستخدام على ******s وهو يعمل عليه فقط, بينما Nasm شائع الاستخدام على Linux وهو قادر على العمل على ******s ايضا
  رد مع اقتباس
قديم 27/9/2009, 12:32 PM   رقم المشاركة : ( 11 )
hmada fisal
مـهـند س مـمـيـز

الصورة الرمزية hmada fisal

الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 758 [+]
آخر تواجـد : ()
عدد النقاط : 40
قوة الترشيـح : hmada fisal يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

hmada fisal غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب




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

اذن الامر في النهاية يتعلق باي نظام تريد الكتابة له, ان لم تكن تريد الكتابة للينوكس على الاطلاق فعليك بـ Masm حيث يتم تطويره كل فترة لا باس بها ولديه بعض الميزات التي تزيد عن سواه (الاراء متضاربة في النهاية والامر يعود لك)
اما لو اردت ان تكتب تطبيقات ايضا للنوكس فربما يكون من الافضل لك ان تبدا بـ Nasm كي لا يكون هناك اي فرق لديك في الاستخدام سواء على ******s او Linux وفي النهاية الفرق بين النظامين يتبع الـ syntax الخاصة باستخدام التعليمات فقط.

ايضا يسال البعض هل ابدا 16بت ام 32بت ام ماذا..
نقول له, لو سالتنا لكانت اجابتنا ابدأ بـ 16 لتتقن التعليمات على الاقل ولتشكل فكرة واضحة عن كيفية عمل تطبيقات 16بت فقط لا غير, ثم يكون بامكانك الانتقال فورا الى 32بت دون اي جهد يذكر حيث سيغدو من المتوجب عليك دراسة دوال ******s API المشتركة بين اللغات البرمجية جميعا فلا تعتقد انه لو تركت الاسمبلي فلن تحتاجها في C او فيجوال مثلا! (اللهم الا في .NET التي لم تعد تضع API في الواجهة وانما تترك لبيئتها الداخلية الاهتمام بمسالة تشكيل الملف وتنفيذه لاحقا).

البعض ايضا يقول بانه يريد تعلم الاسمبلي كي يغدو قادرا على تنقيح البرامج و/او كتابة ***** codes للثغرات وما الى هذا, حسنا الاسمبلي هي الاساس في هذا وبدونها فلن تستطيع ان تفعل ايا مما ذكر, لكن يعود الامر في النهاية الى من يريد ان يتعلم, فلو كان غرضك فقط تنقيح وقرصنة التطبيقات او اكتشاف وكتابة ثغرات فهذا ليس باسمبلي صرف وانما سوف تحتاج الى فهم تعليمات الاسمبلي فقط ولن تضطر الى التعمق في بنيتها وكيفية كتابة التطبيقات بها.

البعض يريد ان يعرف كيف بامكانه استخدام المنقح, تم وضع رابط لمقالات تم تجميعها تشرح استخدام برنامج Olly debugger (باللغة الانكليزية) في الارشيف يمكن الوصول اليه بسهولة..
ايضا رابط لـ olly debugger موجود سلفا في الارشيف لكن للازادة: [ معذرة ... يمكن للأعضاء فقط أن يشاهدوا الروابط ]

فيما يتعلق بانواع البيانات في الاسمبلي فقد تم التكلم عنها لاحقا, وذكرنا بانه هناك عدة طرق للتصريح عن انواع مختلفة من البيانات من انواع مثل int, long, double, float, string, ... تذكر فقط ما درسته كاساسيات في لغات اخرى, بان long مثلا مجاله من كذا الى كذا (-9,223,372,036,854,775,808 الى 9,223,372,036,854,775,807) لذا تلاحظ انها تحتاج الى تصريح عن متحول بحجم 4 كلمات (اي 2 dword) وهذا يمكن انجازه بالشكل:


كود:
data dd 2 dup (0)

هنا تم التصريح عن متحول باسم data بحجم 2 dwords وتم اعتبار محتواه صفر (بالتالي سيدخل في مقطع البيانات الثابتة المصرح عنها سلفا data)
  رد مع اقتباس
قديم 27/9/2009, 12:37 PM   رقم المشاركة : ( 12 )
hmada fisal
مـهـند س مـمـيـز

الصورة الرمزية hmada fisal

الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 758 [+]
آخر تواجـد : ()
عدد النقاط : 40
قوة الترشيـح : hmada fisal يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

hmada fisal غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

مدخل عام إلى لغة التجميع:
معالج أي حاسب لا يفهم أية لغة، لا الباسكال ولا السي ولا الجافا، ولا حتى التجميع في حد ذاته، إنما يفهم شيئا واحدا، هو لغة الآلة. إنها قائمة من ثمانية أعداد تسمى البتات 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): الرايات هي بتات موجودة بداخل المعالج. وسنفرد لقائمة الرايات مجالاً للحديث في الدروس القادمة.
  رد مع اقتباس
قديم 27/9/2009, 12:39 PM   رقم المشاركة : ( 13 )
hmada fisal
مـهـند س مـمـيـز

الصورة الرمزية hmada fisal

الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 758 [+]
آخر تواجـد : ()
عدد النقاط : 40
قوة الترشيـح : hmada fisal يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

hmada fisal غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

مواقع تعليم لغة التجميع ( الاسمبلى )


هنا 1


هنا 2
  رد مع اقتباس
قديم 27/9/2009, 02:17 PM   رقم المشاركة : ( 14 )
hmada fisal
مـهـند س مـمـيـز

الصورة الرمزية hmada fisal

الملف الشخصي
رقم العضوية : 107036
تاريخ التسجيل : Jul 2008
العمـر : 33
الجنـس :
الدولـة :
المشاركات : 758 [+]
آخر تواجـد : ()
عدد النقاط : 40
قوة الترشيـح : hmada fisal يستاهل التميز

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

hmada fisal غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

اليكم رابط لافضل اصدار للهيكس

من هنا
  رد مع اقتباس
قديم 28/9/2009, 09:59 AM   رقم المشاركة : ( 15 )
محمد فؤاد
استاذ فـضـائيات

الصورة الرمزية محمد فؤاد

الملف الشخصي
رقم العضوية : 125888
تاريخ التسجيل : Oct 2008
العمـر :
الجنـس :
الدولـة : الأسكندرية
المشاركات : 12,180 [+]
آخر تواجـد : ()
عدد النقاط : 5673
قوة الترشيـح : محمد فؤاد القمة دائما للمتميزين اتمناها لك اسعي ايضا لهامحمد فؤاد القمة دائما للمتميزين اتمناها لك اسعي ايضا لهامحمد فؤاد القمة دائما للمتميزين اتمناها لك اسعي ايضا لهامحمد فؤاد القمة دائما للمتميزين اتمناها لك اسعي ايضا لهامحمد فؤاد القمة دائما للمتميزين اتمناها لك اسعي ايضا لهامحمد فؤاد القمة دائما للمتميزين اتمناها لك اسعي ايضا لهامحمد فؤاد القمة دائما للمتميزين اتمناها لك اسعي ايضا لهامحمد فؤاد القمة دائما للمتميزين اتمناها لك اسعي ايضا لهامحمد فؤاد القمة دائما للمتميزين اتمناها لك اسعي ايضا لهامحمد فؤاد القمة دائما للمتميزين اتمناها لك اسعي ايضا لهامحمد فؤاد القمة دائما للمتميزين اتمناها لك اسعي ايضا لها

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

محمد فؤاد غير متصل

افتراضي رد: قسم خاص لبرنامج الهيكس ورك شوب

بارك الله فيك اخى حماده بالفعل لقد عدت بمشاركه قويه وممتازه

تقبل تحياتى وجارى عمل مشاركات جديده بهذا الموضوع




























توقيع » محمد فؤاد

أنت الزائر رقم لمواضيعى

 

  رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)


الذين يشاهدون محتوى الموضوع الآن : 19 ( الأعضاء 0 والزوار 19)
 

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

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

الانتقال السريع


الساعة الآن 09:13 AM


Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. TranZ By Almuhajir

Google Adsense Privacy Policy | سياسة الخصوصية لـ جوجل ادسنس

الساده الاعضاء و زوار منتديات المهندسين العرب الكرام , , مشاهده القنوات الفضائيه بدون كارت مخالف للقوانين والمنتدى للغرض التعليمى فقط

RSS RSS 2.0 XML MAP HTML

^-^ جميع آلمشآركآت آلمكتوبهـ تعبّر عن وجهة نظر صآحبهآ ,, ولا تعبّر بأي شكلـ من آلأشكآل عن وجهة نظر إدآرة آلمنتدى ~