首頁 > 常見問題 > 存放程式碼段中偏移位址的暫存器是什麼

存放程式碼段中偏移位址的暫存器是什麼

青灯夜游
發布: 2023-02-16 15:48:12
原創
10071 人瀏覽過

存放程式碼段中偏移位址的暫存器是:指令指標暫存器。指令指標暫存器IP用於控製程式中指令的執行順序;正常運作時,IP中含有BIU要取的下一指令(位元組)的偏移位址,一般情況下,每從記憶體存取一次指令碼,IP就自動加1,從而保證指令的順序執行。

存放程式碼段中偏移位址的暫存器是什麼

本教學操作環境:windows7系統、Dell G3電腦。

暫存器的功能是儲存二進位程式碼,它是由具有儲存功能的觸發器組合起來構成的。一個觸發器可以儲存1位二進位代碼,故存放n位二進位代碼的暫存器,需用n個觸發器來構成。

存放程式碼段中偏移位址的暫存器是:指令指標暫存器。

指令指標暫存器IP(X86型CPU)相當於ARM型CPU中​​的程式計數器PC,用於控製程式中指令的執行順序。正常運作時,IP中含有BIU要取的下一指令(位元組)的偏移位址,一般情況下,每從記憶體中存取一次指令碼,IP就自動加1,從而保證指令的順序執行。 IP其實是指令機器碼存放記憶體單元的位址指針,IP的內容可以被轉移類別指令(如JMP)強迫改寫,以改變程式執行的順序。

注意!我們編製的程式不能直接存取IP,也就是不能用指令去取出IP的值或給IP設定值(如不能用mov指令給IP賦值)。

擴展知識:概念區分

#指令暫存器(IR,Instruction Register),用於暫存目前正在執行的指令。指令暫存器的時脈訊號是clk,在clk的上升沿觸發。指令暫存器將資料匯流排送來的指令存入16位元的暫存器中,但並非每次資料匯流排上的資料都需要寄存,因為資料匯流排上有時會傳送指令,有時會傳送資料。由CPU狀態控制器的 Ir_ena訊號控制資料是否需要寄存。重設時,指令暫存器被清除。

指令指標暫存器IP(Instruction Pointer)用來存放待要取出指令的位址偏移。它只有與CS暫存器結合,才能形成指向指令的真正實體位址。

想要查閱更多相關文章,請造訪PHP中文網! !

以上是存放程式碼段中偏移位址的暫存器是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
偏移量 tdclass 報錯
來自於 1970-01-01 08:00:00
0
0
0
第一季的地址是啥? ?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板