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