0

我开始使用 fasm 学习 asm,不幸的是,编译下面的代码后出现错误:“应用程序已停止工作”,我使用 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
4

1 回答 1

4

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

data import
    library user32,'USER32.DLL',kernel32,'KERNEL32.DLL'
    import user32,MessageBoxA,'MessageBoxA'
    import kernel32,ExitProcess,'ExitProcess'
end data
于 2011-03-08T21:33:09.750 回答