x86架構下的函式引數

2021-08-19 13:36:27 字數 554 閱讀 7472

這裡就拿x86-64架構下來舉例子,在這個架構下分別用rdi,rsi,rdx,rcx,r8,r9作為第1-6個引數。rax作為返回值

當我們去呼叫函式的時候

long test(long a,long b,long c)

long

sum(long a,long b,long c,long d,long e,long f,long g,long h)

int main(int argc, char * argv)

在main函式中,由於函式引數超過了6個,所以7和8是壓入棧中的

然後在sum函式當中會進行通過rbp+0x10和rbp+0x18進行取出

x86架構中特權級

特權級,可以分為三種 第 一 描述符中的特權級dpl,表示這個段的特權 第 二 選擇子的rpl表示請求方的特權級 第 三 當前特權級,表示正在執行的 段所具有的特權 下面有關特權級知識的總結 第一 對於資料段來說,特權級dpl表示了可以訪問該資料的最低特權。若資料段的dpl為1,那麼只有特權級為0或...

x86架構和arm構架

x86是英特爾公司開發的並且通治了幾十年.x86反應快在pc應用廣泛.86與arm最大不同在於指令集上.x86跟硬體發揮優勢.但是帶來的功耗大.arm構架指令簡單執行起來快功耗也低.現在智慧型手機和平板很火.平板電腦要求便攜和續航能力.arm構架具有低功耗.使之有了市場.那麼為什麼沒有得到普及原因主...

X86架構下Linux啟動過程分析

1 x86架構下的從開機到 start kernel 啟動的總體過程 這個過程簡要概述為 開機 bios grub lilo linux kernel 其執行的流程圖和重要函式如下圖所示 2 載入 linux 核心 基於 x86 的記憶體布局圖 0a0000 reserved for bios do...