- 335 名前:デフォルトの名無しさん mailto:sage [2012/01/18(水) 10:52:06.29 ]
- なんかスゲー間違えてる・・・気がする・・・
だれか助けて 関数に引数1つをつけて呼んでリターンした場合 movl $0xa,(%esp) ; 0.5クロック call 0x4013e1 <func1(int)> ; 5クロック mov $0x0,%eax ; 0.5クロック leave ; leaveは実質mov pop movなので、2.5クロック ret ; 8クロック なので、最低 16.5クロック+関数内での演算クロック数が必要 ビットシフトは、 sarl $0x2,0x1c(%esp) ; 4クロック 4クロック+演算クロック数 if文 cmpl $0x0,0x18(%esp) ; 0.5クロック jne 0x4013ee <main()+46> ; 不明:0.5クロック程度? 1クロック+演算クロック数が必要 あれ? If 文って結構早くね? てか、ビットシフト遅くね? If文って分岐予測が当たればさらに高速化するし。
|

|