Home | History | Annotate | Line # | Download | only in string
rindex.S revision 1.8
      1  1.1      cgd /*
      2  1.8      jtc  * Written by J.T. Conklin <jtc (at) netbsd.org>.
      3  1.8      jtc  * Public domain.
      4  1.1      cgd  */
      5  1.1      cgd 
      6  1.7      jtc #include <machine/asm.h>
      7  1.7      jtc 
      8  1.2      jtc #if defined(LIBC_SCCS)
      9  1.8      jtc 	RCSID("$Id: rindex.S,v 1.8 1995/04/28 22:54:23 jtc Exp $")
     10  1.2      jtc #endif
     11  1.3      jtc 
     12  1.4      jtc #ifdef STRRCHR
     13  1.4      jtc ENTRY(strrchr)
     14  1.4      jtc #else
     15  1.1      cgd ENTRY(rindex)
     16  1.4      jtc #endif
     17  1.1      cgd 	pushl	%ebx
     18  1.1      cgd 	movl	8(%esp),%edx
     19  1.1      cgd 	movb	12(%esp),%cl
     20  1.1      cgd 	xorl	%eax,%eax		/* init pointer to null */
     21  1.1      cgd 	.align 2,0x90
     22  1.1      cgd L1:
     23  1.1      cgd 	movb	(%edx),%bl
     24  1.1      cgd 	cmpb	%bl,%cl
     25  1.1      cgd 	jne	L2
     26  1.1      cgd 	movl	%edx,%eax
     27  1.3      jtc L2:
     28  1.1      cgd 	incl	%edx
     29  1.1      cgd 	testb	%bl,%bl			/* null terminator??? */
     30  1.6  mycroft 	jnz	L1
     31  1.1      cgd 	popl	%ebx
     32  1.1      cgd 	ret
     33