Use a loop with indirect or indexed addressing to reverse the elements of an integer array in place. Do not copy the elements to any other array. Use the SIZEOF, TYPE, and LENGTHOF operators to make the program as flexible as possible if the array size and type should be changed in the future. Optionally, you may display the modified array by calling the DumpMem method from the Irvine32 library.
Here's the code i'm not sure if its correct for what the question is but i think i did what my notes said. But i'm completely lost on to how to add this to my visual studio and make it output something i just get errors and not sure where to start.
INCLUDE Irvine32.inc
.data
array1 DWORD 10d,20d,30d,40d,50d,60d,70d,80d,90d
.code
main PROC
mov ESI, OFFSET array1 ;
mov EDI, SIZEOF array1
add EDI, OFFSET array1
sub EDI, TYPE array1 ;
mov ECX, LENGTHOF array1
shr ECX, 1 ;
L1: mov EAX, [ESI] ;
mov EBX, [EDI]
mov [EDI],EAX
mov [ESI],EBX
add ESI, TYPE array1
sub EDI, TYPE array1
LOOP L1
mov ECX, LENGTHOF array1;
mov ESI, OFFSET array1
L2: MOV EAX, [ESI]
call WriteInt
call Crlf
add ESI, TYPE array1
LOOP L2
exit
main ENDP
END main