segment .data
a:      dd      1, 2, 3, 4, 5
        segment .bss
b:      resd    10
        segment .text
        global  main, copy_array
main:
        push    rbp
        mov     rbp, rsp
        lea     rdi, [b]
        lea     rsi, [a]
        mov     edx, 5
        call    copy_array
        xor     eax, eax
        leave
        ret
copy_array:
        xor     ecx, ecx
more:   mov     eax, [rsi+4*rcx]
        mov     [rdi+4*rcx], eax
        add     rcx, 1
        cmp     rcx, rdx
        jne     more
        xor     eax, eax
        ret