22-09-2025, 01:02 PM
22-09-2025, 08:08 PM
كيفية تثبيت حزمة تطوير برامج masm64
يأتي Microsoft Macro Assembler for 64-bit (MASM64) كجزء من مُثبِّت Visual Studio، وهو غير متوفر كتنزيل مُنفصل. أسهل طريقة للحصول على المُجمِّع، ml64.exe، وأدواته هي تثبيت أدوات بناء Visual Studio.
الخطوة 1: تنزيل أدوات بناء Visual Studio وتثبيتها
انتقل إلى صفحة تنزيلات Visual Studio على موقع Microsoft الإلكتروني.
ابحث عن قسم "أدوات Visual Studio" ونزِّل مُثبِّت أدوات بناء Visual Studio.
شغِّل المُثبِّت. عند وصولك إلى شاشة "أحمال العمل"، حدد "تطوير سطح المكتب باستخدام عبء عمل C++".
على الجانب الأيمن، ضمن "تفاصيل التثبيت"، تأكد من تحديد أدوات بناء MSVC v143 - VS 2022 C++ x64/x86 (أو أحدث إصدار).
انقر فوق "تثبيت".
الخطوة ٢: افتح موجه أوامر x64 Native Tools
بعد اكتمال التثبيت، افتح قائمة ابدأ.
ابحث عن "x64 Native Tools Command Prompt" وافتحه. هذا الموجه مُهيأ مسبقًا بجميع متغيرات البيئة والمسارات اللازمة لمُجمِّع 64 بت ومُربِطه.
الخطوة ٣: التحقق من التثبيت
في موجه أوامر x64 Native Tools، اكتب الأمر التالي للتحقق من إصدار المُجمِّع:
sh
ml64/?
استخدم الكود مع الإيداع.
إذا نجح التثبيت، سيعرض الأمر معلومات المساعدة لمُجمِّع ماكرو Microsoft لـ x64.
باستخدام MASM64 SDK
فيما يلي الأوامر الأساسية للتجميع والربط.
اكتب كود التجميع. على سبيل المثال، احفظ الملف التالي باسم hello.asm:
جمّع الملف:
sh
ml64.exe /c /Cx hello.asm
استخدام الكود مع الإيداع.
يُجمّع هذا الأمر hello.asm في hello.obj.
ربط ملف الكائن:
sh
link.exe hello.obj
استخدام الكود مع الإيداع.
يربط هذا ملف الكائن ويُنشئ ملفًا قابلًا للتنفيذ باسم hello.exe.
شغّل برنامجك:
sh
hello.exe
يأتي Microsoft Macro Assembler for 64-bit (MASM64) كجزء من مُثبِّت Visual Studio، وهو غير متوفر كتنزيل مُنفصل. أسهل طريقة للحصول على المُجمِّع، ml64.exe، وأدواته هي تثبيت أدوات بناء Visual Studio.
الخطوة 1: تنزيل أدوات بناء Visual Studio وتثبيتها
انتقل إلى صفحة تنزيلات Visual Studio على موقع Microsoft الإلكتروني.
ابحث عن قسم "أدوات Visual Studio" ونزِّل مُثبِّت أدوات بناء Visual Studio.
شغِّل المُثبِّت. عند وصولك إلى شاشة "أحمال العمل"، حدد "تطوير سطح المكتب باستخدام عبء عمل C++".
على الجانب الأيمن، ضمن "تفاصيل التثبيت"، تأكد من تحديد أدوات بناء MSVC v143 - VS 2022 C++ x64/x86 (أو أحدث إصدار).
انقر فوق "تثبيت".
الخطوة ٢: افتح موجه أوامر x64 Native Tools
بعد اكتمال التثبيت، افتح قائمة ابدأ.
ابحث عن "x64 Native Tools Command Prompt" وافتحه. هذا الموجه مُهيأ مسبقًا بجميع متغيرات البيئة والمسارات اللازمة لمُجمِّع 64 بت ومُربِطه.
الخطوة ٣: التحقق من التثبيت
في موجه أوامر x64 Native Tools، اكتب الأمر التالي للتحقق من إصدار المُجمِّع:
sh
ml64/?
استخدم الكود مع الإيداع.
إذا نجح التثبيت، سيعرض الأمر معلومات المساعدة لمُجمِّع ماكرو Microsoft لـ x64.
باستخدام MASM64 SDK
فيما يلي الأوامر الأساسية للتجميع والربط.
اكتب كود التجميع. على سبيل المثال، احفظ الملف التالي باسم hello.asm:
asm
EXTERN GetStdHandle:PROC
EXTERN WriteFile:PROC
EXTERN ExitProcess:PROC
.data
hello_msg DB "Hello, 64-bit World!", 0Dh, 0Ah
hello_len EQU $-hello_msg
.code
hand PROC
; الحصول على مُخرج قياسي
sub rsp, 40; تخصيص مساحة ظل
mov ecx, -11 ; STD_OUTPUT_HANDLE
call GetStdHandle
mov rcx, rax; hFile
lea rdx, hello_msg; lpBuffer
mov r8, hello_len; nNumberOfBytesToWrite
mov r9, 0; lpNumberOfBytesWritten
sub rsp, 40; اضبط محاذاة المكدس
استدعاء WriteFile
إضافة rsp، 40؛ استعادة المكدس
إضافة rsp، 40؛ استعادة مساحة الظل
؛ إنهاء العملية
mov ecx، 0
استدعاء ExitProcess
ENDP hand
END
استخدام الكود مع الإيداع.
جمّع الملف:
sh
ml64.exe /c /Cx hello.asm
استخدام الكود مع الإيداع.
يُجمّع هذا الأمر hello.asm في hello.obj.
ربط ملف الكائن:
sh
link.exe hello.obj
استخدام الكود مع الإيداع.
يربط هذا ملف الكائن ويُنشئ ملفًا قابلًا للتنفيذ باسم hello.exe.
شغّل برنامجك:
sh
hello.exe
23-09-2025, 03:19 AM
ممكن حل مشكلة
![[صورة مرفقة: image.png]](https://i.postimg.cc/brYMzkCZ/image.png)
fatal error A1000:cannot open file : masm64rt.inc
![[صورة مرفقة: image.png]](https://i.postimg.cc/brYMzkCZ/image.png)
fatal error A1000:cannot open file : masm64rt.inc
23-09-2025, 09:22 AM
أذا كان هدفك بناء تطبيق 32 بت فأستخدم الأمر
و أستخدم الكود التالي:
أما أذا كان هدفك هو بناء تطبيق 64 بت فأستخدم ml64.exe و أيضاً تجنب أستخدام masm32rt.inc
الشفرة المصدرية ادناه من الممكن أن تساعدك لبناء الكود لبيئة 64 بت:
C:\masm32\bin\ml /c /coff 9o.asm
C:\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:C:\masm32\lib 9o.obj kernel32.lib user32.lib
و أستخدم الكود التالي:
include \masm32\include\masm32rt.inc
.const
CmdToExecute db "calc.exe",0
.code
start PROC
invoke WinExec, ADDR CmdToExecute, SW_SHOWNORMAL
invoke ExitProcess, 0
start ENDP
END start
أما أذا كان هدفك هو بناء تطبيق 64 بت فأستخدم ml64.exe و أيضاً تجنب أستخدام masm32rt.inc
الشفرة المصدرية ادناه من الممكن أن تساعدك لبناء الكود لبيئة 64 بت:
option casemap:none
extrn WinExec:PROC
extrn ExitProcess:PROC
.data
CmdToExecute db "calc.exe",0
.code
main PROC
sub rsp, 28h ; shadow space & alignment
lea rcx, CmdToExecute ; arg1
mov rdx, 1 ; SW_SHOWNORMAL
call WinExec
xor ecx, ecx
call ExitProcess
main ENDP
END main