/* * Copyright (c) 1983 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that this notice is preserved and that due credit is given * to the University of California at Berkeley. The name of the University * may not be used to endorse or promote products derived from this * software without specific written prior permission. This software * is provided ``as is'' without express or implied warranty. */ #if defined(SYSLIBC_SCCS) && !defined(lint) _sccsid:.asciz "@(#)strlen.s 5.4 (Berkeley) 05/25/88" #endif /* SYSLIBC_SCCS and not lint */ /* * Return the length of cp (not counting '\0'). * * strlen(cp) * char *cp; */ #include "DEFS.h" ENTRY(strlen, 0) movl 4(ap),r1 1: locc $0,$65535,(r1) # look for '\0' beql 1b subl3 4(ap),r1,r0 # len = cp - base ret