-
Notifications
You must be signed in to change notification settings - Fork 0
/
ft_strlen.s
30 lines (27 loc) · 1.09 KB
/
ft_strlen.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
; **************************************************************************** ;
; ;
; ::: :::::::: ;
; ft_strlen.s :+: :+: :+: ;
; +:+ +:+ +:+ ;
; By: mleclair <mleclair@student.42.fr> +#+ +:+ +#+ ;
; +#+#+#+#+#+ +#+ ;
; Created: 2018/06/19 11:46:13 by mleclair #+# #+# ;
; Updated: 2018/06/19 11:46:13 by mleclair ### ########.fr ;
; ;
; **************************************************************************** ;
global _ft_strlen
section .text
_ft_strlen: ; int strlen(const char *string)
cmp rdi, 0
je error
xor rcx, rcx
not rcx
xor al, al
repne scasb
not rcx
dec rcx
mov rax, rcx
ret
error:
mov rax, 0
ret