每日技術閱讀之 x86 架構中的暫存器

2021-10-19 23:58:50 字數 1042 閱讀 5164

本期內容是 intel x86 架構中的暫存器

x86 對於 intel 處理器來說是乙個人們習慣的口頭稱謂,原因是第乙個晶元被稱為 8086 ,之後推出的晶元有 8186 ,8286 , 8386 等等。他們的共同點是都叫 xx86 , 所以人們稱它為 x86 。x86 的特性不斷發展,進化,不同的特性相互疊加,於是 x86 有時候被稱為cisc (complex instrucation set computer)。在 80 年代被稱為 risc (reducedinstrucation set computer)和 cisc 大戰的年代, risc 是乙個相對較為新穎的想法。在這之前沒有人給他們命名,但是 risc 的開發人員將之前的處理器稱作為 cisc ,具有明顯的貶義含義。intel 使用的是經典的 cisc 架構,這意味著它有很多複雜的特性。它的開發手冊大約有兩大本書,如果感興趣的話可以去閱讀 64-ia-32-architectures-software-developer-vol-1-manual 這個手冊,沒記錯的話這個手冊應該是有三卷的。大約有幾千多條指令。(我光是想想就覺得頭皮發麻了:

這裡總共有 16 個暫存器,可以用來儲存整數或者是指標。其中有一些是字母名稱,有一些是數字名稱。如果你使用它的 %r 開頭的名稱,你會得到 64-bit , 如果你使用 %e 開頭的名稱你會得到 32-bit 。但是這並不代變他們是兩個不同的暫存器 ,%e 版本只是較大的 %r 實體的低32-bit 。實際使用的時候你還可以只用 16-bit 或者 8-bit 。關於這些暫存器的名稱是歷史遺留問題,因為當初他們被賦予了特殊的目的,通過這個名稱表現。現如今這些名稱已經無意義了,與他們的目的沒有關係了。

x86架構中特權級

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

x86架構和arm構架

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

x86架構下的函式引數

這裡就拿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,lon...