Annotation of sys/lib/libkern/arch/i386/memchr.S, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: memchr.S,v 1.1 1997/11/04 19:08:06 chuck Exp $ */
! 2:
! 3: /*
! 4: * Written by J.T. Conklin <jtc@netbsd.org>.
! 5: * Public domain.
! 6: */
! 7:
! 8: #include <machine/asm.h>
! 9:
! 10: ENTRY(memchr)
! 11: pushl %edi
! 12: movl 8(%esp),%edi /* string address */
! 13: movl 12(%esp),%eax /* set character to search for */
! 14: movl 16(%esp),%ecx /* set length of search */
! 15: testl %ecx,%ecx /* test for len == 0 */
! 16: jz L1
! 17: cld /* set search forward */
! 18: repne /* search! */
! 19: scasb
! 20: jne L1 /* scan failed, return null */
! 21: leal -1(%edi),%eax /* adjust result of scan */
! 22: popl %edi
! 23: ret
! 24: .align 2,0x90
! 25: L1: xorl %eax,%eax
! 26: popl %edi
! 27: ret
CVSweb