m_avrina
@m_avrina
Студентота.

Что не так с поиском эллементов на assembler?

Всем привет! прошу помощи в решении задачи формирования массива из 2х других(путем поиска максимального элемента) пример: результат[i] =max(массив1[i], массив2[i])
Вроде как написал все с коментами
Но оно в принципе не работает

_asm finit
		_asm {
			xor esi,esi//обнуляю
			xor ecx,ecx//обнуляю
			loopForI://цикл для прохода по массивам
			mov ax, firstArray[esi]//заношу "i"эллемент
				loopForJ//цикл для сравнение итого со всеми житыми
			mov bx, secondArray[ebp]//заношу "j"эллемент
			cmp ax,bx//сравниваю
			jg max //если больше, то пушу в стек
			cmp bx,ax// сравниваю
			jg min // если больше, житый, то пушу его
			inc ebp// нарашиваю "j"
				loop loopForJ//внутренний цикл по j
			loop loopForI// общий цикл по i

			min:
				push bx//пушу в стек
				inc esi//нарашиваю "i"
				xor ebp,ebp//"зануляю j"
				jmp loopForI//"прыгаю снова на большой цикл"
			max ://Тоже, что и в min
				push ax
				inc esi
				xor ebp, ebp
			jmp loopForI

				xor esi,esi//занулил
				poploop://цикл по стеку
			pop maxArray[esi]//попнул в массив максимальных
				loop poploop
		
	}
	__asm fwait
  • Вопрос задан
  • 34 просмотра
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev
build engineer
Ну у вас в принципе логика программы нерабочая.

Например, внутренний loopForJ, после которого в обоих случаях - если элементы не равны, вы обнуляете ebp, таким образом по второму массиву у вас вообще прохода нет.
Тут даже подсказать сложно нужно все переделать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Boomstarter Москва
от 110 000 до 160 000 руб.
Acme Crypto Corp Нижний Новгород
от 120 000 до 180 000 руб.
Acme Crypto Corp Нижний Новгород
от 150 000 до 250 000 руб.
18 авг. 2018, в 09:13
13000 руб./за проект
18 авг. 2018, в 01:10
17000 руб./за проект
17 авг. 2018, в 23:00
5500 руб./за проект