Приветствую!
Хотел бы поинтерисоваться по такому вопросу.
Решил вставить код ассемблера в программу с++. Нашел много разных способов, таких как :
asm{
//code
};
//code
};
и такие как
__asm(
//code
);
//code
);
Я (Ubuntu 12.04 g++ v4.1) после нескольких дней ужаса нашел способ написания лично у меня
#include <iostream>
.
.
.
int sum = 0, a = 2, b = 3;
.
.
.
int sum = 0, a = 2, b = 3;
__asm(
"mov %0, %%eax;"
"mov %1, %%ebx;"
"add %%eax, %%ebx;"
:
"=r" (sum)
:
"r" (a), "0" (b)
);
cout<<sum;
вот тогда будет сумма 2х чисел...
Объясните зависимости систем/компиляторов плиз)
Комментарии
поправочка, g++ 4.8 ))))
поправочка, g++ 4.8 ))))
Если строчка на асемблере