计组 寻址方式
尋址方式
尋址方式分為指令尋址和數據尋址兩大類。
指令尋址
分為順序尋址和跳躍尋址
順序尋址:通過程序計數器PC加1,自動形成下一條指令的地址。 跳躍尋址:通過轉移類指令實現。數據尋址
指令的地址碼字段通常都不代表操作數的真實地址,故把它稱為形式地址,記作A;操作數的真實地址稱為有效地址,記作EA,它是由尋址方式和形式地址共同來確定的。
為了便于研究各類尋址方式,假設指令字長=存儲字長=機器字長
1.立即尋址
特點:操作數本身設在指令字內,即形式地址A不是操作數的地址,而是操作數本身 ,又稱之為立即數。數據是采用補碼形式存放的,A的位數限制了這類指令所能表述 的立即數范圍。2.直接尋址
特點:指令字中的形式地址A就是操作數的真實地址EA,即EA=A; 優點:尋找操作數比較簡單,不需要專門計算操作數的地址,在指令執行階段對主存只訪問一次。 缺點:A的位數限制了操作數的尋址范圍,必須修改A的值,才能修改操作數的地址。、3.隱含尋址
隱含尋址是指指令中不明顯的給出操作數的地址,其操作數的地址隱含在 操作碼 或某個 寄存器 中。4.間接尋址
指令字中的形式地址不直接指出操作數的地址,而是指出操作數有效地址所在的存 儲單元地址,有效地址是由形式地址間接提供的,即EA=(A)優點:擴大了操作數的尋址范圍,便于編制程序。 缺點:指令的執行階段需要訪問兩次(一次間接尋址)或多次(多次間接尋址),使指令的執行時間延長。5.寄存器尋址
地址碼字段直接指出了寄存器的編號,其操作數位于寄存器中。 由于地址碼字段只需指明寄存器編號,故指令字較短,節省了存儲空間。6.寄存器間接尋址
指令中地址碼位置上的寄存器所存儲的不再是操作數,而是操作數的地址。 它比間接尋址少訪存一次。7.基址尋址
基址尋址需設有寄存器BR,其操作數的有效地址EA等于指令字中的形式地址與基址 寄存器中的內容(稱為基地址)相加。 即 EA= A+(BR)優點:擴大了操作數的尋址范圍。在多道程序中極為有用。8.變址尋址
變址尋址和基址尋址極為相似。
有效地址EA等于指令字中的形式地址A與寄存器IX的內容相加之和。即 EA=A+(IX)變址尋址主要用來處理數組問題,在數組的處理過程中,可設定A為是的首地址,不斷改變變址寄存器IX的內容,便可很容易形成數組中任一數據的地址,特別適合編制循環程序
9.相對尋址
相對尋址的有效地址是將程序計數器PC的內容(即當前指令的地址)與指令字中的 形式地址A相加而成即 EA =(PC)+A10 .堆棧尋址
堆棧既可用寄存器組(稱為硬堆棧)來實現,也可利用主存的一部分空間做堆棧(軟堆棧)。堆棧的的運行方式為先進后出或先進先出兩種,先進后出型堆棧的操作數只能從一個口進行讀或寫。操作數只能從棧頂地址只是的存儲單元存或取。
總結
- 上一篇: Cache--主存地址映射
- 下一篇: GPS模块开发详解(转)