chaserex Ответов: 1

У меня есть вопрос x86, о обратном массиве. Кто-нибудь может помочь мне, как его закодировать


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.


Что я уже пробовал:

.code
main proc
	mov esi, OFFSET array				;
	mov edi, SIZEOF array - TYPE array	;
	mov ecx, LENGTHOF array / 2			;

Richard MacCutchan

Так что теперь вам просто нужно добавить код для обмена значениями с каждого конца массива.

1 Ответов

Рейтинг:
2

OriginalGriff

В обратном случае все просто: петля через число элементов делится на два.
Своп (первый + петли значение индекса) с (последний - цикл значение индекса)
печать вашего курса уже будет покрыта.

Мы более чем готовы помочь тем, кто застрял, но это не значит, что мы здесь, чтобы сделать все это для вас! Мы не можем сделать всю работу, вам либо платят за это, либо это часть ваших оценок, и было бы совсем несправедливо, если бы мы сделали все это за вас.

Поэтому нам нужно, чтобы вы сделали работу, и мы поможем вам, когда вы застряли. Это не значит, что мы дадим вам пошаговое решение, которое вы можете сдать!
Начните с объяснения, где вы находитесь в данный момент и каков следующий шаг в этом процессе. Затем расскажите нам, что вы пытались сделать, чтобы этот следующий шаг сработал, и что произошло, когда вы это сделали.