在C 內聯彙編中使用基指標暫存器避免函數呼叫開銷
在C 內聯彙編中使用基底指標暫存器(% rbp) ,遵循這個更正後的程式碼片段:
void Foo(int &x) { int tmp; long tmplong; asm volatile( "lea -16 + %[mem1], %%rbp\n\t" "imul , %%rbp, %q[reg1]\n\t" // Register allocated to tmplong "add %k[reg1], %k[reg1]\n\t" // Register allocated to tmp "movl , %[mem1]\n\t" // Store value in memory pointed to by tmp : [mem1] "=&m"(tmp), [reg1] "=r"(tmplong) : : "%rbp" ); x = 5; }
解釋:
附加說明:
以上是使用基底指標暫存器的 C 內聯彙編如何避免函數呼叫開銷?的詳細內容。更多資訊請關注PHP中文網其他相關文章!