1 | ||||||
Ассемблерная вставка в MVS для нахождения максимального элемента массива18.06.2012, 15:04. Показов 2826. Ответов 7
Метки нет (Все метки)
Написал такую вот штуку:
0
|
18.06.2012, 15:04 | |
Ответы с готовыми решениями:
7
Подпрограмма для нахождения максимального элемента массива Функция для нахождения индекса максимального элемента массива Рекурсивный метод для нахождения максимального отрицательного элемента массива Составить программу для нахождения номера максимального элемента массива |
650 / 337 / 37
Регистрация: 04.04.2012
Сообщений: 886
|
|||||||||||
18.06.2012, 15:36 | 2 | ||||||||||
Не правильно:
1
|
16 / 10 / 0
Регистрация: 14.06.2012
Сообщений: 25
|
||||||
18.06.2012, 16:03 | 4 | |||||
1
|
18.06.2012, 18:02 [ТС] | 5 | ||||||||||
огромное спасибо!
Только есть еще вопрос: я объявил переменную типа DWORD и в нее мувом поместил значение регистра eax, но в ней почему-то какое-то постороннее число. Что я сделал не так?
все, разобрался оказывается l нужно было объявить как указатель, т.к. из регистра в него поступает адрес наибольшего элемента массива. Напишу код, может кому понадобится:
чуть не забыл добавить, что n, в данном случае, равно 2 и в комментариях опечатка в четвертой строчке: не 9, а 1 Добавлено через 12 минут После тестирования понял, что функция у меня выводит только первое значение из массива а, что, естественно, не решает поставленной задачи =\ не понимаю где ошибка...
0
|
16 / 10 / 0
Регистрация: 14.06.2012
Сообщений: 25
|
|
18.06.2012, 18:10 | 6 |
Если объявлять массив a непосредственно внутри функции, всё должно работать. Если массив передается функции как параметр, тогда передавать нужно его адрес, т.е. int ascending(int *a). Тогда строчка "lea esi, a" изменится на "mov esi, a", т.к. a - уже адрес массива.
0
|
16 / 10 / 0
Регистрация: 14.06.2012
Сообщений: 25
|
|
19.06.2012, 10:44 | 8 |
Предоставленный ассемблерный код работает идеально на чистом ассемблере: проверенно в среде MASM32. Если код ассемблера, вставленный в функцию c++, не выдает ожидаемого результата, ошибка исключительно с синтаксисе c++.
0
|
19.06.2012, 10:44 | |
19.06.2012, 10:44 | |
Помогаю со студенческими работами здесь
8
Составить процедуру для нахождения максимального и минимального по модулю элемента одномерного массива A Создание WinApi функции для нахождения максимального элемента массива в нескольких потоках (Написать программу с классом для нахождения максимального элемента одномерного массива и его индекса.) Нужно написать програму для нахождения максимального элемента массива и его точек вхождени Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |