ZIP indir
0
main
1 dal
git@carbon4code.com:ahmet/libasm.git
Ahmet Kerem Final
4 commit
libasm ft_strdup.s
ft_strdup.s 402 B
global ft_strdup
    extern ft_strlen
    extern malloc

    section .text

ft_strdup:
    push rbx
    mov rbx, rdi

    call ft_strlen
    lea rdi, [rax + 1]

    call malloc wrt ..plt
    cmp rax, 0
    je .error

    mov rcx, 0
.loop:
    mov dl, BYTE [rbx + rcx]
    mov BYTE [rax + rcx], dl
    inc rcx
    cmp dl, 0
    jne .loop

    pop rbx
    ret

.error:
    mov rax, 0
    pop rbx
    ret