libasm/ft_strcmp.s

20 lines
269 B
ArmAsm

global ft_strcmp
ft_strcmp:
xor rcx, rcx
xor rax, rax
xor rdx, rdx
.loop:
mov al, [rsi + rcx]
cmp byte [rdi + rcx], al
jne .done
cmp byte [rdi + rcx], 0
je .done
inc rcx
jmp .loop
.done:
mov al, byte [rdi + rcx]
mov dl, byte [rsi + rcx]
sub rax, rdx
ret