summaryrefslogtreecommitdiff
path: root/sys/lib/libkern/arch/mips/strlen.S
blob: 95d6696429d6f0998c875b41911524624e71fe21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "DEFS.h"

	.set	noreorder

/*
 * strlen(str)
 */
LEAF(strlen)
	addu	v1, a0, 1
1:
	lb	v0, 0(a0)		# get byte from string
	addu	a0, a0, 1		# increment pointer
	bne	v0, zero, 1b		# continue if not end
	nop
	j	ra
	 subu	v0, a0, v1		# compute length - 1 for '\0' char
END(strlen)