1. 程式人生 > >一致程式碼段和非一致程式碼段

一致程式碼段和非一致程式碼段

 通過呼叫門的跳轉:當段間轉移指令JMP和段間轉移指令CALL後跟著的目標段選擇子指向一個呼叫門描述符時,該跳轉就是利用呼叫門的跳轉。這時如果選擇子後跟著32位的地址偏移,也不會被cpu使用,因為呼叫門描述符已經記錄了目的碼的偏移。使用調門進行的跳轉比普通跳轉多一個步驟,即在訪問呼叫門描述符時要將描述符當作一個數據段來檢查訪問許可權,要求指示呼叫門的選擇子的 RPL≤門描述符DPL,同時當前程式碼段CPL≤門描述符DPL,就如同訪問資料段一樣,要求訪問資料段的程式的CPL≤待訪問的資料段的DPL,同時選擇子的RPL≤待訪問的資料段或堆疊段的DPL。只有滿足了以上條件,CPU才會進一步從呼叫門描述符中讀取目的碼段的選擇子和地址偏移,進行下一步的操作。