简单的代码,应用程序已停止工作

时间:2011-03-08 16:31:32

标签: assembly fasm

我开始学习asm使用fasm,遗憾的是在编译代码之后我得到错误:“app已停止工作”,我使用Win7 64bit。有谁知道为什么它不起作用?

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

1 个答案:

答案 0 :(得分:4)

只能有一个宏调用。您的 ExitProcess 未导入并调用错误的地址。将所有内容放在一个调用中:

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