xref: /csrg-svn/lib/libc/sparc/string/strlen.s (revision 61174)
154401Storek/*
2*61174Sbostic * Copyright (c) 1992, 1993
3*61174Sbostic *	The Regents of the University of California.  All rights reserved.
454401Storek *
554401Storek * This software was developed by the Computer Systems Engineering group
654401Storek * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
754401Storek * contributed to Berkeley.
854401Storek *
954401Storek * %sccs.include.redist.c%
1054401Storek *
1154401Storek * from: $Header: strlen.s,v 1.1 92/06/25 12:52:47 torek Exp $
1254401Storek */
1354401Storek
1454401Storek#if defined(LIBC_SCCS) && !defined(lint)
15*61174Sbostic	.asciz "@(#)strlen.s	8.1 (Berkeley) 06/04/93"
1654401Storek#endif /* LIBC_SCCS and not lint */
1754401Storek
1854401Storek#include "DEFS.h"
1954401Storek
2054401StorekENTRY(strlen)
2154401Storek	add	%o0, 1, %o1	! save starting point + 1
2254401Storek1:
2354401Storek	ldsb	[%o0], %o2	! fetch byte
2454401Storek	tst	%o2		! null?
2554401Storek	bne	1b		! no, keep going
2654401Storek	inc	%o0		! always increment pointer
2754401Storek	retl
2854401Storek	sub	%o0, %o1, %o0	! return length (ptr - (origptr+1))
29