Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 14.10.2011
Сообщений: 3
1

Ассемблерная вставка, одномерный масив.

14.10.2011, 00:10. Показов 1334. Ответов 4
Метки нет (Все метки)

Только начали изучать ассемблерную вставку в С++....первую лабу я кое-как сам сделал (там елементарные арифметические действия с числами) , а вот с второй напряг...

Нам дан одномерный массив из 10 целых чисел (ввод не с клавиатуры) нам нужно найти два максимальных елемента этой последовательности и найти их суму, вывести на екран результат.Напишите и раздуплите, если не сложно!!! В Паскале ета задачка раз плюнуть..а тут запара
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2011, 00:10
Ответы с готовыми решениями:

Ассемблерная вставка в С++
Задача: дан одномерный массив из 10 элементов, найти минимальный элемент массива, а также среднее...

Ассемблерная вставка
Только начали изучать ассемблерную вставку в С++....первую лабу я кое-как сам сделал (там...

Ассемблерная вставка с AVX-инструкциями
Здравствуйте, я бы хотел обрабатывать числа большой длины, и хотел бы написать свои функции на ЯВУ,...

Найти произведение нечетных чисел натурального ряда от 1 до N (нужна ассемблерная вставка)
Помогите написать ассемблерную вставку для этого кода #include "stdafx.h" #include...

4
247 / 205 / 26
Регистрация: 03.02.2009
Сообщений: 786
14.10.2011, 07:53 2
А покажите как это будет в Паскале!
Потом ее можно переделать!
0
Делаю внезапно и красиво
Эксперт С++
1311 / 1226 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
14.10.2011, 08:59 3
Какого зачем преподают "ассемблерную вставку" не преподав сперва ассемблер?

Простое решение на будущие лабы. Пишешь код на С, в настройках проекта включаешь сохранение ассемблерного листинга, компилишь. В листинге находишь нужную часть кода и с минимальными доработками копируешь её в ассемблерную вставку. Или учи ассемблер.)
0
933 / 758 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
14.10.2011, 09:29 4
dencgik, типа этого, всё что в голову пришло, если в массиве будет один максимальный элемент результат будет нуль.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
 
int  main(void) {
   int arr[] = { 5, 100, 2, 4, 5, 7, 8, 100, -5, 2 };  
   int asize = sizeof(arr)/sizeof(int);
   int sum = 0, cnt = 0;
 
   __asm { 
        lea esi, arr   
        mov ebx, [esi]  // а вдруг первый элемент это max
        mov edx, [esi]
        mov ecx, dword ptr asize  // размер массива
n:
        cmp [esi], ebx  // сравниваем элемент массива с предыдущем max-числом
        jge yes;   // если больше или равно >=
        jmp fly;   
yes:
        mov ebx, [esi]  // присвоим max-число
        cmp ebx, edx    // сравним был ли такой уже
        je  yes2;      // если был прыгаем до метки yes2:
        mov edx, ebx
        mov dword ptr cnt, 0
yes2:
        adc dword ptr cnt, 1  // подсчёт max-чисел
fly:
        add esi, 4  // передвигаемся к следующему элементу
        dec ecx 
        jnz n;
 
        cmp dword ptr cnt, 2 // нужно только два и более
        jl  no;  // если меньше двух
        add ebx, edx  // у нас два и более макс-числа складываем два максимума
        mov dword ptr sum, ebx
no:
   };
   printf("sum 2-max array: %d", sum);
   getchar();
   return 0;
}
0
1 / 1 / 0
Регистрация: 14.10.2011
Сообщений: 3
14.10.2011, 17:34  [ТС] 5
Спасибо всем большое за помощь....
Но уже на паре в нете, что-то нашол, сто-то сам допер...
Короче это проще всего получается..(внизу тхт)
0
Вложения
Тип файла: txt Новый текстовый документ.txt (771 байт, 73 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2011, 17:34

Дано одновимірний масив, розміром 10 елементів. Заповнити масив значеннями з клавіатури та виведіть масив на екран в прямому та зворотньому порядку.
1.Дано одновимірний масив, розміром 10 елементів. Заповнити масив значеннями з клавіатури та...

Ассемблерная вставка
Товарищи!! кто знает, подскажите как сделать ассемблерную вставку в cи-проекте в среде Turbo C??...

С++ и Ассемблерная вставка/чтение SPD ОЗУ
Добрый день форумчане, делаю программу на подобии CPU-Z, необходимо узнать тайминги и прочую...

Ассемблерная вставка
Пытался сделать асм вставку для вычислений &quot;Столкновений&quot;(Collision). Вроде написал все как было в...


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

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

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