Czołem, mam mały problem z kompilacją pliku.
Zawartość pliku do skompilowania:
;"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\ml64" %1.asm /Zd /Zi /link /subsystem:console /defaultlib:kernel32.lib /defaultlib:user32.lib /entry:Start
EXTRN GetStdHandle: PROC
EXTRN WriteFile: PROC
EXTRN lstrlen: PROC
EXTRN ExitProcess: PROC
.DATA
hFile QWORD 0
msglen DWORD 0
BytesWritten DWORD 0
msg BYTE "Hello x64 World!", 13, 10, 0
.CODE
Start PROC
;int 3 ; breakpoint for debugger
sub rsp, 28h
lea rcx, msg
call lstrlen
mov msglen, eax
mov ecx, -11 ; STD_OUTPUT
call GetStdHandle
mov hFile, rax
lea r9, BytesWritten
mov r8d, msglen
lea rdx, msg
mov rcx, hFile
call WriteFile
xor ecx, ecx ; exit code = 0
call ExitProcess
Start ENDP
END
;link /subsystem:console /nodefaultlib /entry:mStart
Plik asm.bat:
@rem call "%ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin\amd64\vcvars64.bat"
@rem call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvarsall.bat" x64
@rem "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\ml64" %1.asm /Zd /Zi /link /subsystem:windows /defaultlib:kernel32.lib /defaultlib:user32.lib /entry:Start
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\ml64" %1.asm /Zd /Zi /link /subsystem:console /defaultlib:kernel32.lib /defaultlib:user32.lib /entry:Start
@rem "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\ml64" %1.asm /Zd /Zi /link /subsystem:console /defaultlib:kernel32.lib /defaultlib:user32.lib /defaultlib:msvcrt.lib /entry:Start
:end
Po wpisaniu w konsoli asm nazwa_pliku(tak, folder jest poprawny), wyskakuje komunikat:
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\am
d64\ml64" write.asm /Zd /Zi /link /subsystem:console /defaultlib:kernel32.lib /defaultlib:user32.lib /entry:Start
'"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\ml64"' is not recognized as an internal or external command, operable program or batch file.
Dorzuciłem do swojego folderu pliku kernel i user, nawet w pliku asm.bat zmieniłem wersje na 11.0, jednak po kompilacji nadal nic się nie dzieje. Ma ktoś możę jakiś pomysł co jeszcze można tutaj zrobić?