summaryrefslogtreecommitdiff
path: root/string.s
blob: b6bc317f13a9bb18192b0641d988a5d93c4a2967 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.include "lib.s"

.globl strlen
strlen:
	prologue

	backup %rdi, %rcx

	movq 16(%rbp), %rdi
	xorq %rax, %rax
	movq $-1, %rcx

	repne scasb

	movq $-2, %rax
	subq %rcx, %rax

	restore %rdi, %rcx

	leave
	ret