2011-03-08 2 views
0

불행히도 다음과 같은 컴파일 코드를 사용하여 asm을 사용하여 fasm을 배우기 시작합니다. "응용 프로그램이 작동을 멈췄습니다"라는 오류가 발생하면서 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

: 하나 라이브러리에 호출을 모두 넣습니다. – schnaader

답변

4

은 하나의 라이브러리 매크로 호출이있을 수 있습니다. ExitProcess을 가져 오지 못하고 잘못된 주소를 호출합니다. 이 오류는 아니지만 _tytul`이 창의 제목 표시한다`, 당신은`푸시 _tytul`와`푸시 _tresc`를 교환했습니다

data import 
    library user32,'USER32.DLL',kernel32,'KERNEL32.DLL' 
    import user32,MessageBoxA,'MessageBoxA' 
    import kernel32,ExitProcess,'ExitProcess' 
end data 
관련 문제