format PE console use32 entry start include 'win32a.inc' struct przz X dw 0 Y dw 0 ends ;----data----; COL1 = 2h+8h ; цвет1 COL2 = 1h+2h+8h ; цвет2 str1 db "Plz enter filename(.asm) :",13,10,0 str1len = ($-str1) str2 db "wa7er`z commentz cleaner(asm).",0 str3 db "File not found.",13,10,0 str3len = ($-str3) BUF DB 200 dup(?) buv db 256 dup(?) ;256 bytes for srcz resylt dd 0 str3len = ($-str3) writtenc dd ? inp dd ? outp dd ? prz przz hhhhh dd ? ; хэндл для файла strm dd ? kolvo dd ? ; filesize tz db ";" kovichka db '"' f_mode db "rb+", 0 c_mode db "a+",0 ncm db "_nocomments.asm",0 ;----data----; start: invoke CharToOemA,str1,str1 invoke CharToOemA,str2,str2 invoke CharToOemA,str3,str3 invoke FreeConsole ,0 invoke AllocConsole ,0 invoke GetStdHandle ,-10 push EaX pop [inp] invoke GetStdHandle ,-11 push EaX pop [outp] mov [prz.X],150 ; высота консоли mov [prz.Y],25 ; ширина консоли invoke SetConsoleScreenBufferSize,[outp],prz invoke SetConsoleTitleA,str2 push 0 ; позиция push 1 ; курсора pop [prz.X] pop [prz.Y] invoke SetConsoleCursorPosition,[outp],prz invoke SetConsoleTextAttribute,[outp],COL1 invoke WriteConsoleA,[outp],str1,str1len,writtenc,NULL invoke ReadConsoleA,[inp],BUF,200,writtenc,0 ;в буфе имя файла. mov edi, BUF mov al, 0dh cld repne scasb dec edi mov byte[edi], 0 cinvoke fopen,BUF,f_mode push EaX pop [hhhhh] cmp [hhhhh],NULL jnz nice1 invoke WriteConsoleA,[outp],str3,str3len,writtenc,NULL jmp ENDz nice1: invoke lstrcat,BUF,ncm cinvoke fopen,eax,c_mode push EaX pop [strm] nice: cinvoke fgets,buv,256,[hhhhh] cinvoke feof,[hhhhh] cmp eax,0 jnz ENDz cmp [buv],0ah jz kkkk invoke lstrlen,buv ;invoke WriteConsoleA,[outp],buv,eax,writtenc,NULL mov edi,buv mov al,[tz] cld repne scasb dec edi mov byte[edi],0 kkkk: cinvoke fputs,buv,[strm] jmp nice ;----END----; ENDz: MOV ECX,01FFFFFFFH L1: LOOP L1 call [FreeConsole] call [ExitProcess] data import library kernel32,'KERNEL32.DLL',\ user32, 'USER32.DLL',\ msvcrt, 'msvcrt.dll' import msvcrt,\ fgets, 'fgets',\ fopen, 'fopen',\ fputs, 'fputs',\ feof, 'feof' include 'api\kernel32.inc' include 'api\user32.inc' end data