Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: Miha_drinking_bout   (29.07.2010 в 17:56)
Для тех кто знаком с си, си++ изучать ассемблер при помощи асм вставок очень просто. Непокидаешь привычной среды разработки. Но мне к сожалению это не подходит.
Искал и нашел только пример из вики.

Чтото вроде того:

// sse2.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
float a[4] = { 300.0, 4.0, 4.0, 12.0 };
float b[4] = {   1.5, 2.5, 3.5,  4.5 };

__asm {
movups xmm0, a   ; // поместить 4 переменные с плавающей точкой из a в регистр xmm0
movups xmm1, b   ; // поместить 4 переменные с плавающей точкой из b в регистр xmm1

mulps xmm1, xmm0 ; // перемножить пакеты плавающих точек: xmm1=xmm1*xmm0
                 ; // xmm10 = xmm10*xmm00
                 ; // xmm11 = xmm11*xmm01
                 ; // xmm12 = xmm12*xmm02
                 ; // xmm13 = xmm13*xmm03

movups a, xmm1   ; // выгрузить результаты из регистра xmm1 по адресам a
}
int x;
for(x=0;x<4;x++)
{
printf("%f\n",a[x]);
}
}


Приятное, естественное обращение - не правда ли?
Но мне надо включить внешние асм файлы:(


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: