Annotation of sys/lib/libkern/arch/amd64/strlen.S, Revision 1.1.1.1
1.1 nbrk 1: /*
2: * Written by J.T. Conklin <jtc@netbsd.org>.
3: * Public domain.
4: * Adapted for NetBSD/x86_64 by Frank van der Linden <fvdl@wasabisystems.com>
5: */
6:
7: #include <machine/asm.h>
8:
9: #if defined(LIBC_SCCS)
10: RCSID("$NetBSD: strlen.S,v 1.1 2001/06/19 00:22:47 fvdl Exp $")
11: #endif
12:
13: ENTRY(strlen)
14: cld /* set search forward */
15: xorl %eax,%eax /* set search for null terminator */
16: movq $-1,%rcx /* set search for lots of characters */
17: repne /* search! */
18: scasb
19: notq %rcx /* get length by taking complement */
20: leaq -1(%rcx),%rax /* and subtracting one */
21: ret
CVSweb