Witam!
Mam taki kod:
Kod:
format PE CONSOLE 4.0
include '%include%\win32a.inc'
section '.data' data readable writeable
argc dd ?
argv dd ?
env dd ?
msg db "%c",0
errmsg db "I need only two parameters!",0
section '.code' code readable executable
entry start
start:
cinvoke __getmainargs,argc,argv,env,0
cmp [argc],2
jne error
mov esi,[argv]
cinvoke atoi, dword [esi+4]
cinvoke printf,dword [ecx]
finish:
mov eax,0
ret
error:
cinvoke printf,errmsg
jmp finish
section '.idata' import data readable writeable
library msvcrt,'msvcrt.dll'
import msvcrt,\
__getmainargs,'__getmainargs',\
printf,'printf',\
atoi,'atoi'
(Z internetu,ale trochę też sam w nim mieszałem)
I z powyższym kodem mam dwa problemy -
1.Nie mam żadnego pomysłu gdzie atoi zwraca swój wynik...W argumencie nic się nie zmienia,a mscvrt przez idę też nie powiedział nic mądrego,jak dla mnie...więc?Gdzie to może lądować?
2.Coś popsułem ze sprawdzaniem argumentów - zły jump/coś innego.Dlaczego?
Za wszelką pomoc z góry dziękuję. ;x