Annotation of sys/lib/libkern/arch/i386/strlen.S, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: strlen.S,v 1.2 1996/09/27 06:47:51 mickey 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(strlen)
! 11: pushl %edi
! 12: movl 8(%esp),%edi /* string address */
! 13: cld /* set search forward */
! 14: xorl %eax,%eax /* set search for null terminator */
! 15: movl $-1,%ecx /* set search for lots of characters */
! 16: repne /* search! */
! 17: scasb
! 18: notl %ecx /* get length by taking complement */
! 19: leal -1(%ecx),%eax /* and subtracting one */
! 20: popl %edi
! 21: ret
CVSweb