بسم الله الرحمن الرحيم
هذا المقال موجه لكل من يريد إستخدام لغة التجميعAssembly language في ديلفي, و ليس يختص بشرح لغة التجميع بحد ذاتها. بل لجعل المبرمج بلغة ديلفي يستأنس بلغة التجميع المضمن ويستعمله في حالات يكون الحل الوحيد والأبسط هو لغة التجميع.
لست بصدد كتابة درس عن كيفية البرمجة بلغة التجميع للمبتدئين, فهو درس يطلب لقارئه ومتناوله حد أدنى من الدراية بقواعد البرمجة بلغة التجميع, ومعرفة بنظم العد كنظام العد الثنائي binary system و نظام العد الستعشري hexadecimal system, وبعض الأساسايات في طرق العنونة المباشرة والمفهرسة والمؤشرة.
وكذلك معرفة جيدة بمعالجات Intel x86 وبنيتها ومسجلاتها Registries, وكذا تعليمات لغة التجميع, وبطبيعة الحال معلومات جيدة عن لغة الباسكال, ولا يهم إن كنت لا تعلم عن النظم البرمجة في reel mode أو protected و virtual لمعالجات i386 لأنها غير مطلوبة في البرمجة لتطبيقات Win32.
ولن نتطرق لكيفية إستعمال لغة التجميع للتطوير و تحسين مردودية برامج ديلفي, لكن سيكون درسا عن كيفية كتابة لغة التجميع المضمن الذي يأتي مع ديلفي بطريقة سليمة و مفيدة.
ونذكر أن ديلفي المستهدف سيكون إنطلاقا من نسخته الأولى delphi2 لتطبيقات win32.
هناك بعض الميزات تمت إضافتها في نسخ لاحقة لديلفي كتعليمات SSE2 اللتي تم دمجها في delphi6.
Assembler المضمن سيمكنك من كتابة كود لغة التجميع في برامج ديلفي, وهو متوفر فقط في منصة delphi32, ويضم الميزات التالية:
- يمكنك كتابة كود التجميع inline.
- يضم كل تعليمات لغة التجميع المتوفرة لمعالجات pentium4 لإينتل, تعليمات MMX, وتعليمات SSE و تعليمات AMD Athlon بما فيها 3D Now !.
- لا يمكنك كتابة macro لكن تستطيع كتابة دوال وإجرائيات مكتوبة بالكامل بلغة التجميع.
- تستطيع إستعمال كل معرفات Delphi مثل المتغيرات والتوابث, وtypes في كود assembly.
نذكر أنه بإمكانك إستعمال ملفات obj في برنامجك إذا أردت ربط إجرائيات أو دوال خارجية
EXTERN, دون إستعمال التجميع المضمن في ديلفي.














