Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .386 ; support x386 instruction set
- .model flat, stdcall ; always flat model, using stdcall
- .stack 100h ; allocate a tiny stack
- option casemap:none ; linking is case sensitive
- .data
- hello byte 'Parameetrite arv: ',0 ; initialized array
- myInt dword 0 ; initialized int
- .data? ; ? means 'uninitialized' (.bss segment)
- stdout dword ? ; stdout handle
- stdin dword ? ; stdin handle
- sbuffer byte 80 DUP(?) ; 80 uninit bytes
- sbuffer2 byte 80 DUP(?) ; 80 uninit bytes
- .code
- ;--------- include Windows API ---------
- include C:\\masm32\\include\\windows.inc
- include C:\\masm32\\include\\kernel32.inc
- includelib C:\\masm32\\lib\\kernel32.lib
- include C:\\masm32\\include\\masm32.inc
- includelib C:\\masm32\\lib\\masm32.lib
- ;---------------------------------------
- ;----- standard main procedure ---------
- main proc argc:dword, argv:ptr byte
- LOCAL written:dword
- call AllocConsole ; attach a console
- ;invoke GetStdHandle, STD_OUTPUT_HANDLE ;
- ;mov [stdout], eax ; stdout = handle
- ;invoke GetStdHandle, STD_INPUT_HANDLE ;
- ;mov [stdin], eax ; stdin = handle
- ;invoke WriteFile, stdout, offset hello, 26, addr written, 0
- ;print 'Test!'
- invoke szappend, offset sbuffer, offset hello, 0
- mov ecx, eax
- add argc, 48
- mov edx, offset sbuffer2
- mov eax, argc
- mov ah, 0
- mov [edx], eax
- invoke szappend, offset sbuffer, offset sbuffer2, ecx
- invoke StdOut, ADDR sbuffer
- invoke StdIn, offset sbuffer, 80
- ;invoke ReadFile, stdin, offset sbuffer, 80, addr written, 0
- ret
- main endp
- ; mark the starting address of the program
- end main ; syntax: [end [program start address]]
Add Comment
Please, Sign In to add comment