Ммм,а на масм как можно открывать,писать,выводить из файла ? без огромного вин32 листинга из учебника Пирогова.
Code: .486 .model flat, stdcall option casemap :none include \masm32\include\windows.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc include \masm32\macros\macros.asm include \masm32\macros\windows.asm includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib .data text db "some text 123",0 flen dd 0 .data? h DWORD ? buf DWORD ? br DWORD ? .code start: invoke CreateFile,chr$("test.txt"),GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL mov h,eax invoke lstrlen,offset text invoke WriteFile,h,offset text,eax,offset br,0 invoke CloseHandle,h invoke CreateFile,chr$("test.txt"),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL mov h,eax invoke GetFileSize,h,NULL mov flen,eax invoke VirtualAlloc,NULL,flen,MEM_COMMIT,PAGE_READWRITE mov buf,eax invoke ReadFile,h,buf,flen,offset br,NULL invoke CloseHandle,h invoke MessageBox,0,buf,chr$("FILE"),0 invoke ExitProcess,0 end start
Пара вопросов,если можно: 1) Что означает option:casemap ? Нигде об этом не пишут .Как это влияет на программу ? 2) Что такое chr$ ? 3) Эм, можно ли использовать вместо оффсета addr или lea ?
1. Директива option нужна для задания некоторых настроек компиляции. Опция casemap задаёт чувствительность к регистру символов. Мы указали none, тем самым установили чувствительность к регистру символов. (c) гугл 2. макрос 3. обычно addr для локальных, offset для глобальных. windows.asm на wasm.ru валялся