blob: 8aa4c153648e37940f9d674081afce2d7c1f4994 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# $OpenBSD: strlen.S,v 1.4 1997/11/07 15:57:22 niklas Exp $
#include "DEFS.h"
/*
* strlen(str)
*/
LEAF(strlen)
.set noreorder
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)
|