R333T
04-05-2024, 06:38 PM
رحلة في عالم الأسمبلي
https://www.youtube.com/playlist?list=PL..._swadKSPga
# الفصل 0 : تمهيد
https://www.youtube.com/watch?v=X8mWkxOejV4
0.2 ما ستحتاجه
ستحتاج إلى بعض الشروط الأولية لتعلم برمجة لغة الassembly باستخدام MASM: نسخة sixty-four bit من MASM، بالإضافة إلى محرر نصوص (لإنشاء وتعديل ملفات الsource الخاصة بـ MASM)، وlinker، وملفات library مختلفة، وcompiler ل C++.
ينخرط مهندسو البرمجيات اليوم في لغة الassembly فقط عندما يعمل كودهم بلغات مثل C++، C#، Java، Swift، أو Python بطريقة بطيئة جدًا ويحتاجون لتحسين أداء بعض الmodules (أو الfunctions) في كودهم.
ونظرًا لأنك ستتفاعل عادة مع لغة الassembly و C++، أو أي لغة برمجة مستوى عالٍ أخرى، عند استخدام لغة الassembly في العالم الحقيقي، فسنفعل ذلك في هذه الدورة أيضًا.
سبب آخر لاستخدام C++ هو مكتبة C الStandard.
على الرغم من أن أفرادًا مختلفين قد أنشأوا عدة مكتبات مفيدة لـ MASM (انظر إلى masm32.com للحصول على مثال جيد)، إلا أنه لا يوجد مجموعة موحدة مقبولة عالميًا من الlibraries.
لجعل مكتبة C الStandard متاحة على الفور لبرامج MASM،
تقدم هذه الدورة أمثلة مع function رئيسية main قصيرة بلغة C/C++ تقوم بcall إلى function خارجية واحدة مكتوبة بلغة الassembly باستخدام MASM.
سيؤدي Compiling البرنامج الرئيسي بلغة C++ مع ملف الsource الخاص بـ MASM إلى إنتاج ملف تنفيذي واحد يمكنك تشغيله واختباره.
هل تحتاج إلى معرفة C++ لتعلم لغة الassembly؟
في الواقع لا.
ستقدم لك هذه الدورة المعرفة الأساسية في C++ التي ستحتاجها لتشغيل أمثلة البرامج.
ومع ذلك، لغة الassembly ليست الخيار الأفضل للغةك الأولى،
لذا تفترض هذه الدورة أن لديك بعض الخبرة في لغة مثل C/C++، Pascal (أو Delphi)، Java، Swift، Rust، BASIC، Python،
أو أي لغة برمجة object-oriented أو البرمجة imperative.
https://www.youtube.com/playlist?list=PL..._swadKSPga
# الفصل 0 : تمهيد
- 0.1 مقدمة للغة التجميع Assembly
- 0.2 ما ستحتاجه ل Assembly
https://www.youtube.com/watch?v=X8mWkxOejV4
0.2 ما ستحتاجه
ستحتاج إلى بعض الشروط الأولية لتعلم برمجة لغة الassembly باستخدام MASM: نسخة sixty-four bit من MASM، بالإضافة إلى محرر نصوص (لإنشاء وتعديل ملفات الsource الخاصة بـ MASM)، وlinker، وملفات library مختلفة، وcompiler ل C++.
ينخرط مهندسو البرمجيات اليوم في لغة الassembly فقط عندما يعمل كودهم بلغات مثل C++، C#، Java، Swift، أو Python بطريقة بطيئة جدًا ويحتاجون لتحسين أداء بعض الmodules (أو الfunctions) في كودهم.
ونظرًا لأنك ستتفاعل عادة مع لغة الassembly و C++، أو أي لغة برمجة مستوى عالٍ أخرى، عند استخدام لغة الassembly في العالم الحقيقي، فسنفعل ذلك في هذه الدورة أيضًا.
سبب آخر لاستخدام C++ هو مكتبة C الStandard.
على الرغم من أن أفرادًا مختلفين قد أنشأوا عدة مكتبات مفيدة لـ MASM (انظر إلى masm32.com للحصول على مثال جيد)، إلا أنه لا يوجد مجموعة موحدة مقبولة عالميًا من الlibraries.
لجعل مكتبة C الStandard متاحة على الفور لبرامج MASM،
تقدم هذه الدورة أمثلة مع function رئيسية main قصيرة بلغة C/C++ تقوم بcall إلى function خارجية واحدة مكتوبة بلغة الassembly باستخدام MASM.
سيؤدي Compiling البرنامج الرئيسي بلغة C++ مع ملف الsource الخاص بـ MASM إلى إنتاج ملف تنفيذي واحد يمكنك تشغيله واختباره.
هل تحتاج إلى معرفة C++ لتعلم لغة الassembly؟
في الواقع لا.
ستقدم لك هذه الدورة المعرفة الأساسية في C++ التي ستحتاجها لتشغيل أمثلة البرامج.
ومع ذلك، لغة الassembly ليست الخيار الأفضل للغةك الأولى،
لذا تفترض هذه الدورة أن لديك بعض الخبرة في لغة مثل C/C++، Pascal (أو Delphi)، Java، Swift، Rust، BASIC، Python،
أو أي لغة برمجة object-oriented أو البرمجة imperative.