25 lines
270 B
ArmAsm
25 lines
270 B
ArmAsm
section .text
|
|
global ft_strlen
|
|
|
|
ft_strlen:
|
|
test rdi, rdi
|
|
jz .err
|
|
mov rsi, rdi
|
|
jmp .loop_start
|
|
|
|
.increase_pointer:
|
|
lea rsi, [rsi + 1]
|
|
|
|
.loop_start:
|
|
mov al, [rsi]
|
|
test al, al
|
|
jnz .increase_pointer
|
|
.end:
|
|
sub rsi, rdi
|
|
mov rax, rsi
|
|
ret
|
|
|
|
.err:
|
|
xor rax, rax
|
|
ret
|