|
楼主 |
发表于 2014-4-28 13:52:56
|
显示全部楼层
上面发错了- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- .386
- .model flat,stdcall
- option casemap:none
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ;include定义
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- include windows.inc
- include user32.inc
- includelib user32.lib
- include kernel32.inc
- includelib kernel32.lib
- include gdi32.inc
- includelib gdi32.lib
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ;数据段
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- .data?
- hModuleHandle dd ?
- hWinMain dd ?
- .const
- szClassName db 'myclass',0
- szCaptionMain db 'first',0
- szText db 'Welcome to fishc.com!',0
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ;代码段
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- .code
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ;窗口过程
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- _ProcWinMain proc hWnd,uMsg,wParam,lParam
- pushad
- invoke DefWindowProc ,hWnd,uMsg,wParam,lParam
- popad
- ret
- _ProcWinMain endp
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ;建立窗口
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- _WinMain proc
-
- local @stWndClass:WNDCLASSEX
- local @stMsg:MSG
- pushad
- ;********************************************************************
- ;获取进程句柄
- ;********************************************************************
- invoke GetModuleHandle,NULL
- mov hModuleHandle,eax
- invoke RtlZeroMemory,addr @stWndClass,sizeof @stWndClass
- ;********************************************************************
- ;注册窗口类
- ;********************************************************************
- invoke LoadCursor,0,IDC_ARROW
- mov @stWndClass.hCursor,eax
- push hModuleHandle
- pop @stWndClass.hInstance
- mov @stWndClass.cbSize,sizeof WNDCLASSEX
- mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW
- mov @stWndClass.lpfnWndProc,offset _ProcWinMain
- mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
- mov @stWndClass.lpszClassName,offset szClassName
- invoke RegisterClassEx,addr @stWndClass
- ;********************************************************************
- ;建立并显示窗口
- ;********************************************************************
- invoke CreateWindowEx,WS_EX_CLIENTEDGE,offset szClassName,offset szCaptionMain,WS_OVERLAPPEDWINDOW,100,100,600,400,NULL,NULL,hModuleHandle,NULL
-
- mov hWinMain,eax
- invoke ShowWindow,hWinMain,SW_SHOWNORMAL
- invoke UpdateWindow,hWinMain
- ;********************************************************************
- .while TRUE
- invoke GetMessage,addr @stMsg,NULL,0,0
- .break .if eax == 0
- invoke TranslateMessage,addr @stMsg
- invoke DispatchMessage,addr @stMsg
- .endw
- popad
- ret
- _WinMain endp
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- start:
- call _WinMain
- invoke ExitProcess,NULL
- ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- end start
-
-
-
复制代码 |
|