Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 32
1

[fasm] Найти сумму наибольшего и наименьшего элементов массива

27.09.2011, 10:33. Показов 2302. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Shelovek,помоги пожалуйста не получается написать прогу. Assembler только начали проходить я его не понимаю после с++.
Дан массив F. Найти сумму наибольшего и наименьшего элемента.
Буду очень признателен
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2011, 10:33
Ответы с готовыми решениями:

Найти сумму наибольшего и наименьшего элементов вещественного массива
Составить программу определения суммы наибольшего и наименьшего элементов вещественного массива...

Как найти сумму значений наибольшего и наименьшего элементов массива
Как найти сумму значений наибольшего и наименьшего элементов массива K(19+n) (Visual Basic 6.0)...

Найти сумму значений наибольшего и наименьшего элементов массива, кратных 7.
Написать программу. Задан действительный одномерный массив А(n), где n -заданное натуральное число....

В матрице найти сумму и произведение наибольшего и наименьшего элементов
В заданной матрице (m x n) найти сумму и произведение наибольшего и наименьшего (по абсолютной...

6
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
27.09.2011, 19:31 2
Компилировал в FASM.
Assembler
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
format PE GUI 4.0
 
include 'win32a.inc'
 
        mov     esi,anum
        mov     eax,[esi]       ;Max
        mov     ebx,[esi]       ;Min
        mov     ecx,[qanum]
        dec     ecx
        add     esi,4   ;move to next array element
mMain:
        cmp     [esi],eax
        jl      mSkMax
        mov     eax,[esi]       ;Max
mSkMax:
        cmp     [esi],ebx
        jg      mSkMin
        mov     ebx,[esi]       ;Min
mSkMin:
        add     esi,4   ;move to next array element
        loop    mMain
        add     eax,ebx ;Max+Min
 
        invoke  ExitProcess,0
 
anum    dd 2,8,46,32,1  ;array
qanum   dd 5            ;array length
 
data import
 
        library kernel32,'KERNEL32.DLL'
 
        import  kernel32,\
                ExitProcess,'ExitProcess'
 
end data
0
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 32
27.09.2011, 19:35  [ТС] 3
skaa спасибо большое,но мне тут ни чего не понятно
0
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
27.09.2011, 20:04 4
Сейчас объясню...
0
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 32
27.09.2011, 20:07  [ТС] 5
мы только начали изучать assembler и пользуемся регистрами(ax,bx,cx,dx) и используем переменные,ну еще и метки начали использовать.
0
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
27.09.2011, 20:16 6
Могу снег чистить, могу переводчиком... В комментариях код на C++.
Assembler
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
format PE GUI 4.0
 
include 'win32a.inc'
 
        mov     esi,anum        ;int    *resi=anum;
        mov     eax,[esi]       ;int    reax=*resi;
        mov     ebx,[esi]       ;int    rebx=*resi;
        mov     ecx,[qanum]     ;int    recx=qanum;
        dec     ecx             ;recx--;
        add     esi,4   ;resi++;
mMain:                  ;for(int j=0;j<recx;j++){
        cmp     [esi],eax       ;if(*resi<reax)
        jl      mSkMax          ;goto mSkMax;
        mov     eax,[esi]       ;reax=*resi;
mSkMax:                         ;mSkMax:;
        cmp     [esi],ebx       ;if(*resi>rebx)
        jg      mSkMin          ;goto mSkMin;
        mov     ebx,[esi]       ;rebx=*resi;
mSkMin:                         ;mSkMin:;
        add     esi,4   ;resi++;
        loop    mMain   ;}
        add     eax,ebx ;reax+=rebx;
 
        invoke  ExitProcess,0
 
anum    dd 2,8,46,32,1  ;int    anum[]={2,8,46,32,1};
qanum   dd 5            ;int    qanum=5;
 
data import
 
        library kernel32,'KERNEL32.DLL'
 
        import  kernel32,\
                ExitProcess,'ExitProcess'
 
end data
Добавлено через 1 минуту
ax соответствует eax, bx соответствует ebx, и т.д....
0
0 / 0 / 0
Регистрация: 17.09.2010
Сообщений: 32
28.09.2011, 04:33  [ТС] 7
Буду разбираться,спасибо)
0
28.09.2011, 04:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2011, 04:33
Помогаю со студенческими работами здесь

Все положительные элементы массива разделить на сумму наименьшего и наибольшего элементов.
Я только начинаю работать с массивами и у меня не получается решить задание. Суть такова: &quot;все...

Найти индексы наибольшего и наименьшего элементов массива
Дан линейный массив из N целых чисел (N=10). Найти индексы наибольшего и наименьшего элементов...

Найти разность наибольшего и наименьшего элементов массива
Даны целые числа a1,a2,....an. Пусть M-наибольшее,а m-наименьшее этих чисел. Найти их разность. ...

Найти сумму наибольшего и наименьшего из значений элементов каждой строки матрицы
Дана действительная матрица размера n*m. Найти сумму наибольшего и наименьшего из значений...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru