1. تعريف
المجمع : هو لغة تستعمل لتطوير الشفرات والبرامج والمشاريع الدقيقة والقوية، لكنه في الحد ذاته ليس بلغة متطورة وسهلة نوعا ما كـ C و PASCAL ، كما أنه يستعمل مباشرة أوامر عقل الحاسوب .
2. الهدف
هناك عدة أهداف من دراسة المجمع، من بينها:
- التحكم بآليات الحاسوب كالفأرة، والطابعة ولوحة المفاتيح...،
- إنتاج مشاريع وشفرات لأضافتها في لغة متطورة كـ C أو Pascal ...
- الفهم الدقيق للعمليات التي يقوم بها عقل الحاسوب،
- فهم عمل نظام التشغيل الأولي (BIOS)،
- فهم عمل أنظمة التشغيل خصوصا DOS ،
- القدرة على إنتاج الحماة المعلوماتية القوية والفعالة (الفيروسات)،
- القدرة على إنشاء نظام تشغيل جديد،
- القدرة على إنشاء لغة برمجة جديدة كالمجمع أو C أو ... ،
- ...
3. تصنيف اللغات
الصنف |
الأسماء |
أمثلة
|
الصنف الأول |
لغة الآلة |
النظام الثنائي والستعشري
|
الصنف الثاني |
المجمعات |
Nasm و Tasm و Masm و Fasm
|
الصنف الثالث |
اللغات المتطورة |
Basic و C و Pascal
|
الصنف الرابع |
اللغات الشيئية الموجهة |
C++ و Java
|
الصنف الخامس |
اللغات المرئية |
VB و VisualC++
|
4. مترجم مناسب
هناك عدة مجمعات من بينها :
Tasm |
: |
من المجمعات الجد مستعملة لشركة Turbo |
Masm |
: |
من المجمعات الجد مستعملة لشركة Microsoft |
Fasm |
: |
من المجمعات القليلة الاستعمال |
Nasm |
: |
هو الأحسن بالنسبة لي،لأنه : |
|
|
+ مجاني |
|
|
+ واجهة للبرمجة رائعة وسهلة |
|
|
+ يحتوي على مساعدة وشرح لجميع الأوامر |
|
|
+ يقبل MMX |
5. الوسائل
لتسهيل الفهم والاستيعاب أكثر، من المستحسن مراجعة ما يلي :
إذ لم تتوفر لديك هذه الشروط، فهذا ليس بعائق.
6. كيفية استخدام المجمع NASM
6.1 التحميل
لتحميل المجمع NASM انقر هنا.
6.2 أين تضع المجمع NASM ؟
من المفضل أن تنشأ مجلدا في القرص المحلي C يحمل الاسم NASM.
ثم ضع فيه جميع محتويات ما تم تحميله من الموقع بعد التخلص من التقليص.
بعد ذلك قم بالنقر على الملف NASMIDE ، تظهر بعد ذلك الواجهة:
File Edit Search Assemble Options Window Help 23:11:00 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ F1Help F2 Save F3Open Alt+F9 Ass Ctrl+F9uild truild
|
6.3 كيف تنشأ أول مشروع ؟
حسنا : بكل اختصار، سنعمل على إنشاء مشاريعنا في النظام الحقيقي للذاكرة أي في 16زوج !!!!
إن لم تفهم ما معنى النظام الحقيقي للذاكرة فلا يهم ، لكن لكتابة أول مشروع اتبع الخطوات التالية :
الخطوة الأولى : انقر على File واختر New
File Edit Search Assemble Options Window Help 23:11:00 New ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ Open ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ Save ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ Exit ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
الخطوة الثانية : انقر على New واختر ASM assistant
File Edit Search Assemble Options Window Help 23:11:00 New ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ Blank file ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ASM assistant...░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ Exit ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
الخطوة الثالثة : انقر على Next
File Edit Search Assemble Options Window Help 23:11:00 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░ ASM assistant helps you to ░░░░░░░░ ░░░░░░░░░░░░░░░ Creat a framework ░░░░░░░░ ░░░░░░░░░░░░░░░ for your assembler project ░░░░░░░░ ░░░░░░░░░░░░░░░ Cancel Next ░░░░░░░░ ░░░░░░░░░░░░░░░ ░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
الخطوة الرابعة : اختر 16bit و 0100h DOS .COM file (حتى تظهر باللون الأصفر) ثم انقر على Next
File Edit Search Assemble Options Window Help 23:11:00 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░ ░░░░░░░ ░░░░░░░░░░░░░░░ ( x) 16 bit ░░░░░░░ ░░░░░░░░░░░░░░░ ( ) 32 bit (386+) ░░░░░░░ ░░░░░░░░░░░░░░░ 0000h ( DOS .SYS file ) ░░░░░░░ ░░░░░░░░░░░░░░░ 0100h ( DOS .COM file ) ░░░░░░░ ░░░░░░░░░░░░░░░ Cancel Help Next ░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
الخطوة الخامسة :اختر الثلاث الاختيارات ثم انقر على Next
File Edit Search Assemble Options Window Help 23:11:00 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░ ░░ ░░░░░░░░░░░░░░░ [ X ] .text ( main code segment ) ░░ ░░░░░░░░░░░░░░░ [ X ] .data ( initialised data ) ░░ ░░░░░░░░░░░░░░░ [ X ] .bss ( uninitialised data ) ░░ ░░░░░░░░░░░░░░░ ░░ ░░░░░░░░░░░░░░░ ░░ ░░░░░░░░░░░░░░░ Cancel Help Next ░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
الخطوة السادسة : انقر على Finish
File Edit Search Assemble Options Window Help 23:11:00 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░ ░░░░░░░░░ ░░░░░░░░░░░░░░░ ░░░░░░░░░ ░░░░░░░░░░░░░░░ ░░░░░░░░░ ░░░░░░░░░░░░░░░ Cancel Finish ░░░░░░░░░ ░░░░░░░░░░░░░░░ ░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
الخطوة السابعة :
الآن إذا أردت أن تكتب شفرة أو مشروع، فيجب أن تكون تحت [SEGMENT .text] مباشرة.
إذا أٍردت أن تنفذ المشروع فاضغط على Ctrl+F9 أو انقر على Assemble ثم Run.
File Edit Search Assemble Options Window Help 23:11:00 ═[■]═════════════ Untitled ═══════════════[↕]═ ;NASM-IDE ASM Assistant Assembler Project File [BITS 16] ;Set code generation to 16 bit mode [ORG 0x0100] ;Set code start address to 0100h
[SEGMENT .text] ;Main code segment
[SEGMENT .data] ;Initialised data segment
[SEGMENT .bss] ;Uninitialised data segment
|