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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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=0; i<n; i++)
        for( j=0; j<m;j++)
            ;//a[i][j]=rand()/512;
 
     for( i=0; i<m; i++)
        ;//c[i]=rand()/512;
 
      for( i=0; i<n; i++){
        d[i]=0;
        for( j=0; j<m; j++)
              d[i]+=a[i][j]*c[j];
     }// for
 
    __asm{
        emms
          mov eax,(n*m-n)*2 // two byte per __int16?
        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
      }// asm
 
      printf("\npascal\t\tasm\n");
      for( i=0; i<m; i++)
        printf("%d\t\t%d\n", d[i],e[i]);
}
 

Всего записей: 11564 | Зарегистр. 03-08-2008 | Отправлено: 14:20 26-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