GetStdHandle PROTO ExitProcess PROTO WriteConsoleA PROTO .code mainCRTStartup proc ; Entry point main proc SUB RSP,5*SIZEOF QWORD ; Room for 5 parameters MOV RCX,-11 ; STD_OUTPUT_HANDLE (standard output) CALL GetStdHandle ; Get the number of the file descriptor MOV RCX,RAX LEA RDX,MSG ; String address MOV R8,LENGTHOF MSG ; String length LEA R9,WRITTEN ; Number of the bytes actually written MOV QWORD PTR [RSP+4*SIZEOF QWORD],0 CALL WriteConsoleA CALL ExitProcess ; Process termination main endp mainCRTStartup endp .data MSG BYTE "Hello, world!",10,10 WRITTEN DWORD ? end