指令系统——数据寻址(2)(详解)
生活随笔
收集整理的這篇文章主要介紹了
指令系统——数据寻址(2)(详解)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、總覽
二、偏移尋址
注:基址寄存器是面向操作系統的,其內容由操作系統或管理程序確定。在程序執行過程中,基址寄存器的內容不變(作為基地址),形式地址可變(作為偏移量)。
當采用通用寄存器作為基址寄存器時,可由用戶決定哪個寄存器作為基址寄存器,但其內容仍由操作系統確定。
優點:可擴大尋址范圍(基址寄存器的位數大于形式地址A的位數);用戶不必考慮自己的程序存于主存的哪一空間區域,故有利于多道程序設計,以及可用于編制浮動程序。
變址尋址:有效地址EA等于指令字中的形式地址A與變址寄存器lX的內容相加之和,即EA=(IX)+A,其中X為變址寄存器(專用),也可用通用寄存器作為變址寄存器。
注:變址寄存器是面向用戶的,在程序執行過程中,變址寄存器的內容可由用戶改變(作為偏移量),形式地址A不變(作為基地址)。
優點:可擴大尋址范圍(變址寄存器的位數大于形式地址A的位數);在數組處理過程中,可設定A為數組的首地址,不斷改變變址寄存器lX的內容,便可很容易形成數組中任一數據的地址,特別適合編制循環程序。
相對尋址:把程序計數器PC的內容加上指令格式中的形式地址A而形成操作數的有效地址,即EA=(PC)+A,其中A是相對于當前指令地址的位移量,可正可負,補碼表示。
優點:操作數的地址不是固定的,它隨著PC值的變化而變化,并且與指令地址之間總是相差一個固定值,因此便于程序浮動。相對尋址廣泛應用于轉移指令。
相對尋址舉例:
某機器指令字長為16位,主存按字節編址,取指令時,每取一個字節PC自動加1。當前指令地址為2000H,指令內容為相對尋址的無條件轉移指令,指令中第一個字節為操作碼,第二個字節為形式地址,當前形式地址為40H。
(1)求取指令后及指令執行后PC內容。
(2)若要求轉移到1F00H,求形式地址的內容。
三、總結
總結
以上是生活随笔為你收集整理的指令系统——数据寻址(2)(详解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四、MyBatis 框架 Dao 动态代
- 下一篇: 二、操作系统——用信号量机制实现进程互斥