我對call gate的理解

來源:互聯網
上載者:User

  call gate(調用門)提供一種機制,允許通過call指令實現向更進階非一致程式碼片段的跳轉,同時cpl發生相應躍遷。  

  所以說call gate是call指令的專用門。猜測call gate之名定取the gate for call是也。

  對上面兩點作下解釋:

  “允許通過call指令實現向更進階非一致程式碼片段的跳轉”,為什麼是非一致程式碼片段?我們知道,若目標段是一致程式碼片段,那麼無論是普通跳轉還是使用調用門跳轉,無論跳轉方式是call還是jmp,cpl都保留跳轉前等級。這是一致程式碼片段的特點。

  “call gate是call指令的專用門”,可明明jmp指令後面也可以跟上調用門的描述符呀!確實,但jmp指令有一個原則“訪問 non-conforming 類型的代碼不改變 CPL”,因此只要跳轉指令是jmp,無論是否使用調用門,訪問非一致程式碼片段都要求cpl=dpl。

  在網上看到一句話,說的甚好:“我們可以看到,只有用CALL指令+調用門方式跳轉,且目標程式碼片段是非一致程式碼片段時,才會引起CPL的變化,即引起代碼執行特權級的躍遷,這是目前得知的改變執行特權級的唯一辦法”。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.