Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
#include <stdio.h>
 
#define n 8 // столбцов
#define m 8 // строк
 
__int16 a[n][m]=
{{1,2,3,4,5,6,7,8},
 {2,3,4,5,6,7,8,1},
 {3,4,5,6,7,8,1,2},
 {4,5,6,7,8,1,2,3},
 
 {5,6,7,8,1,2,3,4},
 {6,7,8,1,2,3,4,5},
 {7,8,1,2,3,4,5,6},
 {8,1,2,3,4,5,6,7},
}; // матрица
 
__int16 c[m]= {-9,-8,-7,-6,-5,-4,-3,-2};       // вектор
 
__int32 d[m], e[m];       // результат
int i,j;
 
main(){
    for( i=1; i<=n; i++)
        for( j=1; j<=m;j++)
            //a[i][j]=rand()/512;
 
     for( i=1; i<=m; i++)
        //c[i]=rand()/512;
 
      for( i=1; i<=n; i++){
        d[i]=0;
        for( j=1; j<=m; j++)
              d[i]+=a[i][j]*c[j];
     }
 
    __asm{
          mov eax,(m*n-m)*2
        mov ecx,n
          l1: pxor mm0,mm0
             mov  edx,m*2
             l2: movq    mm1,[a+eax+edx-8]
                pmaddwd mm1,[c+edx-8]
                paddd   mm0,mm1
                sub     edx,8
                 jnz l2
             phaddd mm0,mm0
             movd  [e+ecx*4-4],mm0
             sub   eax,m*2
          loop l1
      }
 
      printf("\npascal\t\tasm\n");
      for( i=1; i<=m; i++)
        printf("%d\t\t%d\n", d[i],e[i]);
}
 

Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 20:39 25-12-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru