بسم الله الرحمن الرحيم
كيفية تشغيل برامج الأسمبلي على البرنامج masm
السلام عليكم ورحمة الله وبركاته ,,,
يشتكي الكثيرون من عدم معرفتهم بكيفية ترجمة برامج الاسمبلي
عن طريق البرنامج masm و في هذا الدرس نوضح كيفية التعامل معه
أولاً حمل برنامج masm على جهازك .. يمكنك تحميله بالنقر أو من المرفقات هنا :
حجم البرنامج 104 كيلو بايت فقط.
ستجد داخله برنامجين هما masm و link .
أنشئ مجلد في السي (\:C) مباشره باسم masm ثم ضع في هذا المجلد هذين البرنامجين ( masm و link ).
ثم أكتب هذا البرنامج في محرر النوت باد (Not Pad) الذي يقوم بطاعة كلمة hello فقط:
.model small
.stack 100h
.data
msg db 'hello
.code
main proc far
mov ax, @data
mov ds, ax
lea dx, msg
mov ah, 9
int 21h
mov ah, 1
int 21h
mov ah, 4ch
int 21h
main endp
end main
و احفظه باسم test.asm في الملجد masm الموجود في السي (\:C)
الآن إذهب إلى موجه الدوس عن طريق:
start -> programs -> Accessories -> Command Prompt
ثم إذهب إلى السي (\:C) ثم ادخل إلى المجلد masm الموجود به عن طريق:
C:\>cd\masm
أو كما هو مبين في الصورة:

الآن أنت في داخل المجلد masm و سيكون أمر الموجه هو:
C:\>masm>
كما هو مبين في الصورة:

الآن أكتب masm ثم أسم الملف كما يلي:
C:\>masm>masm FILE_NAME;
حيث أن الـ FILE_NAME هو اسم ملفك الذي تريد ترجمته و لا تنسى الفاصلة المنقوطة.
ثم سيظهر لك الأخطاء و عددها و أماكنها إن وجدت أو سيظهر رسالة بعدم وجود أخطاء إذا لم توجد
كما هو مبين في الصورة:

الآن قمنا بعملية الترجمة فقط و لكن بقي علينا جزء مهم و هو جزء الربط (link)
و سنقوم بهذا الجزء كما يلي:
أكتب في سطر الموجه:
C:\>masm>link FILE_NAME;
حيث أن الـ FILE_NAME هو اسم ملفك الذي تريد ترجمته و لا تنسى الفاصلة المنقوطة.
ثم سيقوم بعملية الربط و تظهر شاشة كهذه:

الآن إنتهينا من عملية ترجمة و ربط الملف و الملف التنفيذي exe جاهز الآن, و نستطيع الحصول عليه
بكتابة اسم ملفنا الأصلي في الموجه كما يلي:
C:\>masm>FILE_NAME
كما تبين لنا الصورة:

و ستظهر لنا النتيجة كتابة hello .
إذاً مبروك فقد كتبت و ترجمت و نفذت أول برنامج أسمبلي لك.
و لو ذهبنا إلى الملجد masm لوجدنا فيها ملف test.OBJ و test.exe قد تَكّون نتيجة الترجمة .
الآن بإستطاعتك كتابت و تنفيذ أي برنامج أسمبلي بالطريقة
السابقة عن طريق masm .
مع تحيات أخوكم عبد الصمد
المتعلم السريع
:evil:
و أي سؤال أنا هنا




