Author Topic: how to merge multiple arrays to one array  (Read 227 times)

laomms

  • Regular Member
  • *
  • Posts: 2
how to merge multiple arrays to one array
« on: June 18, 2022, 08:08:42 PM »
I want to concatenate array1 array2 ... to array´╝îhow  is fast way:
 
Code: [Select]

.data
array1      db 04Dh, 05Ah, 090h, 00h, 003h, 00h, 00h, 00h, 04h, 00h, 00h, 00h
other        dd     100 dup(0) 
array2      db     0FFh, 0FFh, 00h, 00h, 0B8h, 00h, 00h, 00h, 00h, 00h, 00h, 00h

.data ?
array        dd    ?

.code

        invoke crt_memcpy, array, addr array1, sizeof array1
        mov ecx, [array]
        add ecx,24
        invoke crt_memcpy, ecx, addr array2, sizeof array2    ???



Code: [Select]

.data
array1      db 6,5,4,3,2,1
other        dd     100 dup(0) 
array2      dd     1,2,3,4,5,6

result DWORD LENGTHOF array2 dup(0)
 
.code
main PROC
  mov eax, 0                             
  mov ecx, LENGTHOF array1           
  mov edi, 0
  mov esi, 0
 
L1:
  mov al, [array1 + esi * TYPE BYTE]     
  movsx eax, al                           
  mov ebx,[array2 + esi * TYPE DWORD]     
  mov result[edi], ebx         
  add result[edi], eax                   
  inc esi                             
  add edi, 4                         
  loop L1