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