1 1.1 cgd /* 2 1.7 jtc * Written by J.T. Conklin <jtc (at) netbsd.org>. 3 1.7 jtc * Public domain. 4 1.1 cgd */ 5 1.1 cgd 6 1.6 jtc #include <machine/asm.h> 7 1.6 jtc 8 1.2 jtc #if defined(LIBC_SCCS) 9 1.8 jtc RCSID("$NetBSD: index.S,v 1.8 1995/04/28 22:58:01 jtc Exp $") 10 1.2 jtc #endif 11 1.1 cgd 12 1.3 jtc #ifdef STRCHR 13 1.3 jtc ENTRY(strchr) 14 1.3 jtc #else 15 1.1 cgd ENTRY(index) 16 1.3 jtc #endif 17 1.1 cgd pushl %ebx 18 1.1 cgd movl 8(%esp),%eax 19 1.1 cgd movb 12(%esp),%cl 20 1.1 cgd .align 2,0x90 21 1.1 cgd L1: 22 1.1 cgd movb (%eax),%bl 23 1.1 cgd cmpb %bl,%cl /* found char??? */ 24 1.1 cgd je L2 25 1.1 cgd incl %eax 26 1.1 cgd testb %bl,%bl /* null terminator??? */ 27 1.5 mycroft jnz L1 28 1.1 cgd xorl %eax,%eax 29 1.1 cgd L2: 30 1.1 cgd popl %ebx 31 1.1 cgd ret 32