Вообще очень мало толковой информации нашел про Inline Assembler и про синтаксис AT&T в целом.
Материал на викиАнглоязычный мануал
Есть рабочий кусок над которым эксперементировал, но результата нужного не получил.
#include <iostream>
int add(int a, int b){
int res;
asm("movl %1, %%eax\n\
inc %%eax\n\
addl %2, %%eax":"=a"(res):"m"(a),"m"(b));//AT&T
return res;
}
int main()
{
using namespace std;
int a=5, b=5;
printf("a = %d\nb = %d\n", a, b);
int c = add(a, b);
printf("%d + %d + 1 = %d\n", a, b, c);
system("PAUSE");
return 0;
}
Пробовал оператором сдвига получить адрес но выходило, что то не то.
На ассемблере программировать вроде научился, но на 16 битном (не думаю, что разница огромная)
Куда копать, что читать? Помогите люди добрые