27 lines
		
	
	
		
			416 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			416 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
/*	$OpenBSD: index.S,v 1.4 2005/08/07 11:30:38 espie Exp $ */
 | 
						|
/*
 | 
						|
 * Written by J.T. Conklin <jtc@netbsd.org>.
 | 
						|
 * Public domain.
 | 
						|
 */
 | 
						|
 | 
						|
#include <machine/asm.h>
 | 
						|
 | 
						|
#ifdef STRCHR
 | 
						|
ENTRY(strchr)
 | 
						|
#else
 | 
						|
ENTRY(index)
 | 
						|
#endif
 | 
						|
	movl	4(%esp),%eax
 | 
						|
	movb	8(%esp),%cl
 | 
						|
	.align 2,0x90
 | 
						|
L1:
 | 
						|
	movb	(%eax),%dl
 | 
						|
	cmpb	%dl,%cl			/* found char??? */
 | 
						|
	je 	L2
 | 
						|
	incl	%eax
 | 
						|
	testb	%dl,%dl			/* null terminator??? */
 | 
						|
	jnz	L1
 | 
						|
	xorl	%eax,%eax
 | 
						|
L2:
 | 
						|
	ret
 |