Есть проблема с ассемблерной вставкой в Си-код. Представим, что у нас забита таблица table (тип double), в которой посчитаны некоторые константы: Код (Text): void Init() { double x; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { x = (double)(2 * PI * i * j / N); table[N*i+j] = sin(x) + cos(x); } } } И есть функция расчета некоторого алгоритма на Си. Код (Text): void Func() { double def = 0; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) def += input[j] * table[N*i+j]; output[i] = def; def = 0; } } Требуется создать функцию с АСМ-вставкой, которая повторяет функцию на Си (Func) с возможностью параллельной работы. /* Мне представляется это как захват по 4 элемента из table и применение к ним: def += input[j] * table[N*i+j]; output = def; */ Обязательно использовать XMM или MMX (но он не работает с плавающей точкой, поэтому нужно будет представить дроби в виде целочисленных значений). Заранее определены: Код (Text): const int N = 256. double input[N], output[N], table[N*N]; Буду крайне признателен за помощь!
Аскемблерные вставки в с у\бира если, это mscv и тебе надо 64 битная версия, делай в отдельном asm файле