commit 23e9a1160183815fd09b9a699b21f845ea291f7e Author: Стас Михайлов WindowsDesktop Date: Sat Dec 26 11:49:22 2020 +0300 Инициализация diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..50322ed --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.vscode/tasks.json +main.obj +main.exe diff --git a/main.asm b/main.asm new file mode 100644 index 0000000..762e8b5 --- /dev/null +++ b/main.asm @@ -0,0 +1,34 @@ +global _main + extern _GetStdHandle@4 + extern _WriteFile@20 + extern _ExitProcess@4 + + section .text +_main: + ; DWORD bytes; + mov ebp, esp + sub esp, 4 + + ; hStdOut = GetstdHandle( STD_OUTPUT_HANDLE) + push -11 + call _GetStdHandle@4 + mov ebx, eax + + ; WriteFile( hstdOut, message, length(message), &bytes, 0); + push 0 + lea eax, [ebp-4] + push eax + push (message_end - message) + push message + push ebx + call _WriteFile@20 + + ; ExitProcess(0) + push 0 + call _ExitProcess@4 + + ; never here + hlt +message: + db 'Hello, World', 10 +message_end: \ No newline at end of file