天天看點

MIPS尋址方式

MIPS的尋址方式:

      1、MIPS硬體隻支援一種尋址模式,即:寄存器基位址 + 立即數偏移量,且offset必須在-32768~32767之間(16位),任何載入和存儲機器指令都可以寫成:

       lw        $1,offset($2)

      可以使用任何寄存器作為目的操作數或源操作數。

      2、但是,MIPS彙編器可以利用合成指令來支援多種尋址方式,這些尋址方式包括:

               直接尋址(Direct):由資料标号或者外部變量名尋址;

               直接+索引(Direct+index):偏移量加上由寄存器指定的标号位址;

               常數(Constant):32位常數;

               寄存器間接(Register Indirect):寄存器+偏移量(其中偏移量為0).

      3、另外,MIPS對資料的通路還有一種稱為“全局指針gp相對尋址”的技術。

MIPS的指令格式:

      MIPS隻有三種指令格式:

      1、R(register)類型的指令。該類型指令從寄存器堆(register file)中讀取兩個源操作數,計算結果寫回寄存器堆。

op  rs  rt  rd  shamt  funct 
6bit   5bit  5bit  5bit  5bit  6bit

      2、I(immediate)類型的指令。該類型指令使用一個16位的立即數作為一個源操作數。

op   rs  rt  Address/Immediate
 6bit 5bit  5bit  16bit 

      3、J(jump)類型的指令。該類型指令使用一個26位的立即數作為跳轉的目标位址(target address)。

 op target-address 
 6bit  26bit

       參考資料:

           1、《See MIPS run》;

           2、http://wenku.baidu.com/view/66672a07e87101f69e319526.html 指令系統與尋址方式

繼續閱讀