2011-03-08 82 views
0

我開始學習使用fasm asm,不幸的是,編譯後的代碼後,我得到錯誤:「應用程序已停止工作」,我使用Win7 64位。有沒有人知道爲什麼它不起作用?簡單的代碼,應用程序已停止工作

format PE Console 4.0 
include 'win32a.inc' 

push MB_OK 
push _tresc 
push _tytul 
push 0 
call [MessageBoxA] 

push 0 
call [ExitProcess] 

mov eax,0 
ret 

_tytul db "Tytul",0 
_tresc db "Hello world :)",0 

data import 
    library user32,'USER32.DLL' 
    library kernel32,'KERNEL32.DLL' 
    import user32,\ 
     MessageBoxA,'MessageBoxA' 
    import kernel32,\ 
     ExitProcess,'ExitProcess' 
end data 
+0

這不是錯誤,但如果'_tytul'應是你的窗口的標題,你換'推_tytul'和'推_tresc'。 – schnaader 2011-03-08 16:41:12

回答

4

只能有一個宏調用。您的ExitProcess不會被導入並調用錯誤的地址。把一切都放在一個調用:

data import 
    library user32,'USER32.DLL',kernel32,'KERNEL32.DLL' 
    import user32,MessageBoxA,'MessageBoxA' 
    import kernel32,ExitProcess,'ExitProcess' 
end data