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 指令系統與尋址方式