作者braveforever (braveforever)
看板CSIE_ASM
標題[問題] linux inline assembly
時間Mon Dec 11 20:30:40 2006
想問一下在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實作,然後比較效能
所以想問老師可否提供作參考之用,謝謝^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.245.60
推 pj2:asm_prog/mult.c 12/12 09:10
推 pj2:A simple tutorial about inline assembly for x86 in linux: 12/12 09:14