السلام عليكم و رحمة الله و بركاته
انا جديد في الاسمبلي و قد صممت هدا البرنامج و بعد تجميع لا يعمل البرنامج
فأرجو من الاخوان ان يدلوني على الخطأ ادا كان في الكود
كود
.386 .model flat,stdcall option casemap:none includelib C:\masm32\lib\kernel32.lib includelib C:\masm32\lib\user32.lib include C:\masm32\include\kernel32.inc include C:\masm32\include\user32.inc include C:\masm32\include\windows.inc WndProc PROTO STDCALL :DWORD, :DWORD, :DWORD, :DWORD WinMain PROTO STDCALL :DWORD, :DWORD, :DWORD, :DWORD .data AppTitle db "Window Application",0 ClassName db "ClassName",0 .data? hInstance dd ? .code main: invoke GetModuleHandle,NULL mov hInstance,eax invoke WinMain, hInstance,NULL, NULL,SW_SHOW invoke ExitProcess, NULL WinMain proc hInst:DWORD,hPrevInst:DWORD,CmdLine:DWORD,CmdShow:DWORD LOCAL wc:WNDCLASSEX LOCAL msg:MSG LOCAL hwnd:DWORD mov wc.cbSize, SIZEOF WNDCLASSEX mov wc.cbClsExtra,NULL mov wc.cbWndExtra,NULL mov wc.style,CS_VREDRAW or CS_HREDRAW push hInst pop wc.hInstance mov wc.hbrBackground,COLOR_WINDOW mov wc.lpszMenuName,NULL mov wc.lpszClassName, OFFSET ClassName invoke LoadIcon, NULL, IDI_APPLICATION mov wc.hIcon,eax mov wc.hIconSm,eax invoke LoadCursor,NULL, IDC_ARROW mov wc.hCursor,eax invoke RegisterClassEx, ADDR wc invoke CreateWindowEx,NULL,ADDR ClassName, ADDR AppTitle,WS_TILEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,400,200,NULL,NULL,hInst,NULL mov hwnd,eax invoke ShowWindow,hwnd,SW_SHOWNORMAL invoke UpdateWindow,hwnd .WHILE TRUE invoke GetMessage,ADDR msg,NULL,0,0 .BREAK .IF(!eax) invoke TranslateMessage,ADDR msg invoke DispatchMessage, ADDR msg .ENDW mov eax,msg.wParam ret WinMain endp WndProc proc hwnd:DWORD, msg:DWORD, wParam:DWORD, lParam:DWORD mov eax,msg .IF eax == WM_CREATE invoke MessageBox,NULL,ADDR AppTitle, ADDR AppTitle,NULL .ELSEIF eax == WM_DESTROY invoke PostQuitMessage,NULL .ELSE invoke DefWindowProc,hwnd,msg,wParam,lParam .ENDIF ret WndProc endp end main
و شكرا مسبقا