The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
857 B
34 lines
857 B
2 years ago
|
; ---------------------------------------------
|
||
|
; Hello World for Win64 Intel x64 Assembly
|
||
|
;
|
||
|
; by fruel (https://github.com/fruel)
|
||
|
; 13 June 2016
|
||
|
; ---------------------------------------------
|
||
|
|
||
|
GetStdHandle PROTO
|
||
|
ExitProcess PROTO
|
||
|
WriteConsoleA PROTO
|
||
|
|
||
|
.data
|
||
|
msg BYTE "Hello World!",0
|
||
|
bytesWritten DWORD ?
|
||
|
|
||
|
.code
|
||
|
mainCRTStartup proc
|
||
|
sub rsp, 5 * 8 ; reserve shadow space
|
||
|
|
||
|
mov rcx, -11 ; nStdHandle (STD_OUTPUT_HANDLE)
|
||
|
call GetStdHandle
|
||
|
|
||
|
mov rcx, rax ; hConsoleOutput
|
||
|
lea rdx, msg ; *lpBuffer
|
||
|
mov r8, LENGTHOF msg - 1 ; nNumberOfCharsToWrite
|
||
|
lea r9, bytesWritten ; lpNumberOfCharsWritten
|
||
|
mov QWORD PTR [rsp + 4 * SIZEOF QWORD], 0 ; lpReserved
|
||
|
call WriteConsoleA
|
||
|
|
||
|
mov rcx, 0 ; uExitCode
|
||
|
call ExitProcess
|
||
|
mainCRTStartup endp
|
||
|
END
|