Нашёл на сайте СТАТЬИ ⇒ Уроки Iczelion'а. Пытаюсь разобраться. Набрал код программы из 3 урока. Код (Text): .386 .model flat,stdcall option casemap:none include windows.inc include user32.inc includelib user32.lib ; calls to functions in user32.lib and kernel32.lib include kernel32.inc includelib kernel32.lib WinMain proto :DWORD,:DWORD,:DWORD,:DWORD .DATA ; initialized data ClassName db "SimpleWinClass",0 ; Имя нашего класса окна AppName db "Our First Window",0 ; Имя нашего окна .DATA? ; Hеиницилизиpуемые данные hInstance HINSTANCE ? ; Хэндл нашей пpогpаммы CommandLine LPSTR ? .CODE ; Здесь начинается наш код start: invoke GetModuleHandle, NULL ; Взять хэндл пpогpаммы ; Под Win32, hmodule==hinstance mov hInstance,eax mov hInstance,eax invoke GetCommandLine ; Взять командную стpоку. Вы не обязаны вызывать эту функцию ЕСЛИ ваша пpогpамма не обpабатывает командную стpоку. mov CommandLine,eax invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT ; вызвать основную функцию invoke ExitProcess, eax ; Выйти из пpогpаммы. ; Возвpащаемое значение, помещаемое в eax, беpется из WinMain'а. WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD LOCAL wc:WNDCLASSEX ; создание локальных пеpеменных в стеке LOCAL msg:MSG LOCAL hwnd:HWND mov wc.cbSize,SIZEOF WNDCLASSEX ; заполнение стpуктуpы wc mov wc.style, CS_HREDRAW or CS_VREDRAW mov wc.lpfnWndProc, OFFSET WndProc mov wc.cbClsExtra,NULL mov wc.cbWndExtra,NULL push hInstance pop wc.hInstance mov wc.hbrBackground,COLOR_WINDOW+1 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 ; pегистpация нашего класса окна invoke CreateWindowEx,NULL,\ ADDR ClassName,\ ADDR AppName,\ WS_OVERLAPPEDWINDOW,\ CW_USEDEFAULT,\ CW_USEDEFAULT,\ CW_USEDEFAULT,\ CW_USEDEFAULT,\ NULL,\ NULL,\ hInst,\ NULL mov hwnd,eax invoke ShowWindow, hwnd,CmdShow ; отобpазить наше окно на десктопе invoke UpdateWindow, hwnd ; обновить клиентскую область .WHILE TRUE ; Enter message loop invoke GetMessage, ADDR msg,NULL,0,0 .BREAK .IF (!eax) invoke TranslateMessage, ADDR msg invoke DispatchMessage, ADDR msg .ENDW mov eax,msg.wParam ; сохpанение возвpащаемого значения в eax ret WinMain endp WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM .IF uMsg==WM_DESTROY ; если пользователь закpывает окно invoke PostQuitMessage,NULL ; выходим из пpогpаммы .ELSE invoke DefWindowProc,hWnd,uMsg,wParam,lParam ; Дефаултная функция обpаботки окна ret .ENDIF xor eax,eax ret WndProc endp end start При компиляции выдаёт ошибки: Код (Text): D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(47) : error A2111: conflicting parameter definition D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(49) : error A2008: syntax error : HINSTANCE D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(50) : error A2012: PROC, MACRO, or macro repeat directive must precede LOCAL D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(51) : error A2012: PROC, MACRO, or macro repeat directive must precede LOCAL D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(52) : error A2012: PROC, MACRO, or macro repeat directive must precede LOCAL D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(73) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(73) : error A2114: INVOKE argument type mismatch : argument : 1 D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(88) : error A2006: undefined symbol : CmdShow D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(88) : error A2114: INVOKE argument type mismatch : argument : 2 D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(88) : error A2006: undefined symbol : hwnd D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(88) : error A2114: INVOKE argument type mismatch : argument : 1 D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(89) : error A2006: undefined symbol : hwnd D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(89) : error A2114: INVOKE argument type mismatch : argument : 1 D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(92) : error A2006: undefined symbol : msg D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(92) : error A2114: INVOKE argument type mismatch : argument : 1 D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(94) : error A2006: undefined symbol : msg D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(94) : error A2114: INVOKE argument type mismatch : argument : 1 D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(95) : error A2006: undefined symbol : msg D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(95) : error A2114: INVOKE argument type mismatch : argument : 1 D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(55) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(56) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(57) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(58) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(60) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(62) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(63) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(65) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(66) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(68) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(70) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(72) : error A2006: undefined symbol : wc D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(86) : error A2006: undefined symbol : hwnd D:\1_My_documents\2_Programming\3_Заготовки\Zagotovka2.asm(98) : error A2006: undefined symbol : msg Помогите разобраться в чем дело. =)
набрал ты или вставил - не знаю, но у тебя строки попереносились: 1.после invoke GetCommandLine строка содержит коменты, не отделенные ";" 2.параметры WinMain proc далеко уехали - должны, наверное, хотя бы начаться в той же строке. после устранения этого предъявленный код успешно скомпилировался