blob: 0260d384ce20f9b64264405bf251143cb561401c [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/* $OpenBSD: rindex.S,v 1.3 2005/08/07 11:30:38 espie Exp $ */
2/*
3 * Written by J.T. Conklin <jtc@netbsd.org>.
4 * Public domain.
5 */
6
7#include <machine/asm.h>
8
9#ifdef STRRCHR
10ENTRY(strrchr)
11#else
12ENTRY(rindex)
13#endif
14 pushl %ebx
15 movl 8(%esp),%edx
16 movb 12(%esp),%cl
17 xorl %eax,%eax /* init pointer to null */
18 .align 2,0x90
19L1:
20 movb (%edx),%bl
21 cmpb %bl,%cl
22 jne L2
23 movl %edx,%eax
24L2:
25 incl %edx
26 testb %bl,%bl /* null terminator??? */
27 jnz L1
28 popl %ebx
29 ret