_ft_strcmp: xor rax, rax
xor rcx, rcx
compaire:
mov al, byte[rdi + rcx] ;всего два обращения к памяти
mov ah, byte[rsi + rcx] ;всего два обращения к памяти
test al, al ;test немного быстрее cmp, а с нулем отлично сравнивает
je done
test ah, ah ;test немного быстрее cmp, а с нулем отлично сравнивает
je done
cmp al, ah
jne done
inc rcx
jmp compaire
done:
sub al, ah;то же, что и было, но без использования второго регистра
movzx rax, al
ret