Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Aurran
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 18
1

Массив умножить на число, введенное пользователем (mmx)

05.05.2014, 20:36. Просмотров 562. Ответов 2
Метки нет (Все метки)

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
            push eax
            push ebx
            push ecx
            push esi
            
            xor esi, esi
            pxor MM7, MM7
 
            loop1:
            movq MM0, a_vect[esi]
            movq MM1, k
            movq MM2, b_vect[esi]
 
            pmullw MM0, MM1
            paddd MM0, MM2
            movq c_vect[esi], MM0
 
            add esi, 4
            sub cnt, 2
            jnz loop1
 
            emms
            pop esi
            pop ecx
            pop ebx
            pop eax
что с кодом не так?

если здесь:
add esi, 4
sub cnt, 2

4 поменять на 2, а 2 на 1. то все считает правильно но не так быстро как без mmx(
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2014, 20:36
Ответы с готовыми решениями:

Массив: Проверить, находится ли введенное пользователем с клавиатуры число в массиве.
написать программу, которая проверяет, находится ли введенное пользователем с клавиатуры число в...

Получить одномерный массив, состоящий из элементов массива А, которые превышают по модулю число, введенное пользователем
Задан массив A. Получить массив одномерный массив В, состоящий из элементов массива А, которые...

Умножить Введенное число
Как сделать, чтобы к примеру: Вводишь определенное число и нажимаешь кнопку по считать. И...

Умножить введенное число в зависимости от выбранного элемента списка
Делаю сайт по сдаче автомобилей в аренду. Вопрос вот в чем : имеется выпадающий список с машинами,...

Преобразует введенное пользователем десятичное число в число в указанной системе счисления (от 2 до 10)
Помогите решить Написать программу, которая преобразует введенное пользователем десятичное число...

2
Somebody
2807 / 1618 / 251
Регистрация: 03.12.2007
Сообщений: 4,223
Завершенные тесты: 3
05.05.2014, 21:24 2
pmullw, paddd - какой всё-таки тип? И ещё k - подготовленный qword с несколькими копиями числа? Если нет, то его надо сначала раскидать его по регистру в 2/4/8 экземплярах (и не обязательно внутри цикла).
0
Aurran
0 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 18
05.05.2014, 21:49  [ТС] 3
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
push eax
            push ebx
            push ecx
            push esi
            
            xor esi, esi
            pxor MM7, MM7
 
            loop1:
            movq MM0, a_matrix[esi]
            movq MM1, k_matrix[esi]
            movq MM2, b_matrix[esi]
 
            pmullw MM0, MM1
            paddd MM0, MM2
            movq c_matrix[esi], MM0
 
            add esi, 8
            sub cnt, 4
            jnz loop1
 
            emms
            pop esi
            pop ecx
            pop ebx
            pop eax
вроде разобрался, теперь считает правильно.
Мне по задаче нужно было массив умножить на число введенное пользователем.
Все что добавил это чтоб число введенное пользователем(k) было в отдельном массиве:
Assembler
1
2
3
4
5
6
    for (int i=0; i<16; i++)    
        {
            a_matrix[i] = rand()%10;
            b_matrix[i] = rand()%10;
            k_matrix[i] = k;
        }
Добавлено через 5 минут
Somebody, про pmullw или paddd не знаю(
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2014, 21:49

Преобразовать введенное пользователем десятичное число в число в указанной системе счисления
Написать программу на языке си, которая преобразует введенное пользователем десятичное число в...

Написать программу, которая преобразует введенное пользователем десятичное число в число в указанной системе
Помогите пожалуйста!( если можно с обьяснениями, можно и без сам разберу).... :-| буду брагодарен...

Умножить введенное число на число из файла input.txt и сохранить ответ в файл output.txt
написать программу которая умножает введенное число на число из файла input.txt и сохраняет ответ в...


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

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

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