Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Юрий Кудринский
0 / 0 / 0
Регистрация: 16.07.2015
Сообщений: 29
1

Сравнить поэлементно два массива и записать максимальный элемент из каждой пары в третий массив

15.05.2016, 21:52. Просмотров 368. Ответов 1
Метки нет (Все метки)

Доброго времени суток! Я пишу программу на С++, у меня есть 3 массива: 2 исходных и 1 результирующий. Мне необходимо написать ассемблерную вставку, в которой будут сравниваться элементы 2 исходных массивов, после чего максимальный элемент из каждой пары будет записываться в третий массив. Как это реализовать? В каких регистрах хранить ссылки на массивы?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2016, 21:52
Ответы с готовыми решениями:

Найти наибольший элемент каждой пары из массива А и записать их в новый массив
Найти наибольший элемент каждой пары из массива А и записать их в новый массив. Получить из него...

Как сравнить два двухмерных массива и записать результат в третий?
Программа тест. Как сравнить два двумерных массива типа bool и записать ответы где правильные или...

Сформировать два текстовых файла из целых чисел. Записать в третий файл минимальный элемент первого файла и максимальный элемент второго файла
Тема: работа с текстовыми файлами с использованием стандартных функций библиотеки stdio.h Нужно...

Сложить массивы поэлементно, результаты записать в третий массив
Даны два массива, заполненные десятью случайными целыми числами. каж- дое из которых от 1 до 9...

Как сложить поэлементно два массива и заполнить суммами третий.
Нашел очень хорошее пособие по VB 6.0 После теории, как правило, стал заниматься практикой. Начал...

1
Полный 30h
Эксперт быдлокодинга
1533 / 446 / 61
Регистрация: 04.11.2010
Сообщений: 1,224
15.05.2016, 23:31 2
На FASM это выглядело бы примерно так.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
; для массива с размером ячейки байт
   mov ESI,mass_1 ; адрес массива 1 в ESI
   mov EDX,mass_2 ; адрес массива 2 в EDX
   mov EDI,mass_3 ; адрес массива 2 в EDI
   mov ECX,[size_mas] ; счетчик числа элементов массива
   cld ; адреса возрастают
 
_lp: ; начало цикла
   lodsb ; загрузка из адреса  ESI в AL, ESI+1 перейти на следующую яч. массива 1
   cmp AL,[EDX] ; сравнить ячейку первого массива с ячейкой второго
   jae @f ; если яч. из массива 1 больше или равна яч. массива 2 то прыгать на метку вперёд
   mov AL,[EDX] ; если нет, то загрузить в AL значение из второго массива
@@: ; та самая "метка вперёд"
   stosb ; загрузка из AL по адресу в  EDI в , EDI+1 перейти на следующую яч. массива 3
   inc EDX ; EDX+1 ; перейти на следующую яч. массива 2
   loop _lp ; ECX-1 и если ECX не 0, то вернуться на _lp
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2016, 23:31

Найти среднее арифметическое элементов массива, сравнить два массива поэлементно
#include <iostream> #include <math.h> #include <conio.h> using namespace std; void main() {...

Сравнить между собой два одномерных массива поэлементно
сравнить между собой два одномерных массива поэлементно (т.е a-b, a-b) и передать в третий min...

Записать каждый третий элемент массива x(15) в массив y
Записать каждый третий элемент массива x(15) в массив y. Вычислить сумма элементов y.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru