1 1.1 cgd /* 2 1.11 salo * 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.11 salo RCSID("$NetBSD: rindex.S,v 1.11 2003/07/26 19:24:34 salo 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.10 kleink _ALIGN_TEXT,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