64 位系統 V.

這是許多 POSIX 作業系統上 64 位應用程式的預設呼叫約定。

引數

前 8 個標量引數按順序傳遞(按順序)RDI,RSI,RDX,RCX,R8,R9,R10,R11。超過前八個的引數被放置在堆疊上,較早的引數更靠近堆疊的頂部。如果不再需要,呼叫者負責在呼叫後從堆疊中彈出這些值。

返回值

對於標量返回型別,返回值放在 RAX 中。返回類似結構的較大型別是通過從概念上改變函式的簽名來完成的,以在引數列表的開頭新增一個引數,該引數是指向放置返回值的位置的指標。

儲存和 Clobbered 暫存器

RBP,RBX 和 R12-R15 由被叫方保留。所有其他暫存器可以被被呼叫者修改,並且呼叫者必須保留暫存器的值本身(例如,在棧上),如果它希望稍後使用該值。