опубликован 14-10-2001 22:29 MSK
Вот подумал что strstr для моих целей не эффективна(я вызываю strstr(buf,"\r\n")) и сделал такую ф-цию:
char *findcr(const char *str)
{
char *ret; _asm cld
_asm mov edi,str
_asm mov esi,edi
_asm mov ecx,BUFSZ
_asm mov ebx,ecx
_asm xor eax,eax
_asm repne scasb
_asm sub ebx,ecx
_asm mov edi,esi
_asm mov ecx,ebx
_asm xor ebx,ebx
_asm mov eax,0x0D
_asm repne scasb
_asm jnz Fin
_asm cmp [edi],0x0A
_asm jne Fin
_asm mov ebx,edi
_asm dec ebx
Fin:
_asm mov [ret],ebx
return ret;
}
Работает она в раз 50 медленее strstr стандартного почему????