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