section .text global ft_strcmp ; int ft_strcmp(const char *s1, const char *s2) ft_strcmp: mov rax, 0 cmp rdi, 0 je .ret cmp rsi, 0 je .ret mov rax, rdi .loop: mov r10b, BYTE [rdi] cmp r10b, BYTE [rsi] jne .end cmp BYTE [rdi], 0 je .end cmp BYTE [rsi], 0 je .end inc rsi inc rdi jmp .loop .end: movzx rax, BYTE [rdi] movzx r10, BYTE [rsi] sub rax, r10 ;sub rdi, rax ;mov rax, rdi .ret: ret