想問一下在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實作,然後比較效能
所以想問老師可否提供作參考之用,謝謝^^