diff options
Diffstat (limited to 'ft_strlen.s')
| -rw-r--r-- | ft_strlen.s | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/ft_strlen.s b/ft_strlen.s index 32eaf0c..82c0e34 100644 --- a/ft_strlen.s +++ b/ft_strlen.s @@ -1,12 +1,12 @@ -ft_strlen: - pop bx - mov eax, 0h -FT_STRLEN_LOOP: - mov ecx, [ebx] - cmp ecx, 0 - je FT_STRLEN_RET - inc eax - inc ebx - jmp FT_STRLEN_LOOP -FT_STRLEN_RET: - ret +.globl _ft_strlen + + _ft_strlen: + mov rbx, rdi # first argument in rbx + xor rax, rax # rax = 0 + FT_STRLEN_LOOP: + cmp byte ptr [rbx + rax], 0 # compare rbx[rax] and '\0' + je FT_STRLEN_RET + inc rax + jmp FT_STRLEN_LOOP + FT_STRLEN_RET: + ret |
