Return to strlen.S CVS log | Up to [local] / sys / lib / libkern / arch / i386 |
File: [local] / sys / lib / libkern / arch / i386 / strlen.S (download)
Revision 1.1, Tue Mar 4 16:15:13 2008 UTC (16 years, 6 months ago) by nbrk
Initial revision |
/* $OpenBSD: strlen.S,v 1.2 1996/09/27 06:47:51 mickey Exp $ */ /* * Written by J.T. Conklin <jtc@netbsd.org>. * Public domain. */ #include <machine/asm.h> ENTRY(strlen) pushl %edi movl 8(%esp),%edi /* string address */ cld /* set search forward */ xorl %eax,%eax /* set search for null terminator */ movl $-1,%ecx /* set search for lots of characters */ repne /* search! */ scasb notl %ecx /* get length by taking complement */ leal -1(%ecx),%eax /* and subtracting one */ popl %edi ret