Click here to Skip to main content
15,867,937 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Use a loop with indirect or indexed addressing to reverse the elements of an integer array in
place and display the modified array (calling the DumpMem method from the Irvine32
library). 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.


What I have tried:

.code
main proc
	mov esi, OFFSET array				;
	mov edi, SIZEOF array - TYPE array	;
	mov ecx, LENGTHOF array / 2			;
Posted
Updated 7-Oct-19 1:26am
Comments
Richard MacCutchan 7-Oct-19 4:52am    
So now you just need to add the code to exchange the values from each end of the array.

1 solution

Inplace reverse is simple: loop through the number of elements divided by two.
Swap the (first + the loop index value) with the (last - the loop index value)
printing your course will already have covered.

We are more than willing to help those that are stuck: but that doesn't mean that we are here to do it all for you! We can't do all the work, you are either getting paid for this, or it's part of your grades and it wouldn't be at all fair for us to do it all for you.

So we need you to do the work, and we will help you when you get stuck. That doesn't mean we will give you a step by step solution you can hand in!
Start by explaining where you are at the moment, and what the next step in the process is. Then tell us what you have tried to get that next step working, and what happened when you did.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900