想问一下在linux下c程式中加入一段assembly code的方法,
complier为gcc
在网络上看了一些资料后仍不懂(感觉上很麻烦且没有详细的范例
,组语规格为AT&T)
写了一下程式测试大概为
int main(){
int i,k;
i=1;
asm( "movl %1, %%eax;"
"addl %%eax,%0;"
:"=r"(k)
:"r"(i)
:"%eax");
printf("%d\n",k);
return 0;
}
预计output结果为1,但郤为2.
记得第一堂上课时老师作了一个程式速度测试例子,
是相同程式分别用组语(inline assembly)与c实作,然后比较效能
所以想问老师可否提供作参考之用,谢谢^^