Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Zingler
0 / 0 / 0
Регистрация: 25.05.2014
Сообщений: 8
1

Ассемблер и С++. Найти среднее арифметического массива (intel x86)

25.05.2014, 01:11. Просмотров 932. Ответов 1
Метки нет (Все метки)

Здравствуйте! Проблема такая: Задали задание, нужно написать программу, в которой главнй модуль находится в языке С или С++, а дополнительный модуль в языке Ассемблера. Программа обязательно должна состоять из 2 раздельный файлов, т.е Нельзя встроить код ассемблера в код С. Из главного модуля передаю количество элементов массива, и указатель на первый елемент массива. В ассемблере с помощью Сопроцессора нужно найти среднее арифметическое этих чисел и вернуть в функцию. Проблема заключается в том, что этот массив должен быть либо типа double либо float.
Код написаный на С++:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
#define L 5
 
extern "C" float Srednia(float* tab, int G);
 
int main()
{
    float tab[L]={0};
    cout<<"Enter array: \n";
    for(int i=0; i<L; i++)
        cin>>tab[i];
    cout<<"Average value of entered array = "<<Srednia(tab, L);
    cout<<"\nThe end of the programm\n";
    return 0;
}
Помогите, пожалуйста написать код на Ассемблере. Перепробовал многое, не один из моих вариантов не работает. Уже даже не знаю в какую сторону правильно копать. Буду очень благодарен.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2014, 01:11
Ответы с готовыми решениями:

Посоветуйте книгу/справочник синтаксису AT&T (ассемблер x86)
Нужен справочник по синтаксису AT&amp;T для ассемблера х86, но не получается его найти. Подскажите,...

Справочник по прерываниям Intel x86
Нужен справочник, в котором было бы написано примерно следующее: interrupt 10: принимает...

Ассемблер и С++. Найти среднее арифметического массива (intel x86)
Здравствуйте! Проблема такая: Задали задание, нужно написать программу, в которой главнй модуль...

найти среднее арифметическое и вывести элемент массива, сильнее всего отклоняющийся от ср. арифметического
дан линейный массив. найти среднее арифметическое и вывести элемент массива, сильнее всего...

Найти среднее арифметическое элементов массива, из элементов массива, меньших среднего арифметического, сформировать новый массив
Дан одномерный массив. Найти среднее арифметическое элементов массива, из элементов массива,...

1
Charles Kludge
Клюг
7646 / 3161 / 383
Регистрация: 03.05.2011
Сообщений: 8,382
25.05.2014, 12:30 2
Да ничего сложного. Внимание, использовались Watcom Assembler, Watcom С++ и Watcom Linker.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
.386
    .model flat, c
.code
; Определение публичных и внешних имен
public  Srednia
 
Srednia proc C, arrptr:DWORD, arrlen:DWORD
local   tmp             ; временная перем., нужна из-за кривизниы Ынтеля
    mov esi, arrptr     ; esi-> на массив
    mov ecx, arrlen     ; кол-во элементов
    fldz                ; грузим в FPU нулик
@@: lodsd               ; в EAX - очередной элемент массива
    mov dword ptr tmp, eax  ; сохраняем его в tmp
    fadd    dword ptr tmp       ; и уже отсюда прибавляем
    loop    @B          ; ECX раз
    fild    arrlen          ; грузим в FPU кол-во элементов
    fdivp   st(1), st(0)        ; и сумму эл-тов делим на их кол-во
    fstp    dword ptr tmp       ; сохраняем среднее в tmp
    mov eax, dword ptr tmp  ; и только из него в EAX
    ret
Srednia endp
    End
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2014, 12:30

Ассемблер x86
Пишу программу на ассемблере(х86) для проектора. Суть в том, что там есть автоматический режим...

Вычеслить среднее арифметического элементов массива
Доброе время суток! Помогите пожалуйста с задачкой Вычеслить среднее арифметического элементов...

Написать комплекс программ на языке Ассемблер x86
может быть не в ту тему Задание: Написать комплекс программ на языке Ассемблер x86, которые...


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

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

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