section .text global ft_strcpy ft_strcpy: test rdi, rdi jz err test rsi, rsi jz err push rdi jmp loop_start condition_check: mov al, [rdi] test al, al jz end loop_start: mov rax, [rsi] mov [rdi], rax lea rdi, [rdi + 1] lea rsi, [rsi + 1] jmp condition_check end: pop rax ret err: xor rax, rax ret