1. 程式人生 > >MIPS ISA---經典RISC指令集

MIPS ISA---經典RISC指令集

符號記錄

名稱 含義
GPR General Purpose Register 通用暫存器(32num-64bit)
FPR Floating-point Purpose Register 浮點暫存器(32num-64bit)
SP single-precision 單精度
DP double-precision 雙精度
GT greater than 大於
LT less than 小於
LE less or equal 小於等於
GE greater or equal 大於等於
EQ equal 等於
NE not equal 不等於

指令部分

指令型別 指令含義
資料傳送
GPR與主存,FPR或特殊暫存器GPR
LB LBU SB 載入位元組,載入無符號位元組,儲存位元組
LH LHU SH 載入半字,載入無符號半字,儲存半字
LW LWU SW 載入字,載入無符號字,儲存字
LD SD 載入雙字,儲存雙字
L.S 載入單精度浮點數
L.D 載入雙精度浮點數
S.S 儲存單精度浮點數
S.D 儲存雙精度浮點數
MFCO MTCO 從GPR移動到特殊暫存器,從特殊暫存器移動到GPR
MOV.S FPR間單精度浮點數傳送
MOV.D FPR間雙精度浮點數傳送
MFC1 MTC1 GPR->FPR FPR->GPR
算數邏輯運算
GPR數字邏輯運算
DADD DADDI DADDU DADDIU 非立即數或立即數形式的有符號或無符號數相加
DSUB DSUBU 有符號數減 無符號數減
DMUL DMULU DDIV DDIVU MADD 有符號乘,無符號乘,有符號除,無符號除,乘加
AND ANDI 與,立即數與
OR ORI XOR XORI 或,立即數或,異或,立即數異或
LUI 載入立即數上半部分 載入32-47bit,進行符號擴充套件
DSSL DSRL DSRA DSLLV DSRIV DSRAV 邏輯左移 邏輯右移 算數右移 D_代表立即數,D_V代表變數
SLT SLTI SLTU SLTIU 小於 小於立即數 小於無符號 小於無符號立即數
控制語句
條件控制語句,對PC更改
BEQZ BNEZ GPR等於0跳轉,GPR不等於0跳轉
BEQ BNE 兩個GPR相等跳轉 不相等跳轉
BC1T BC1F FP狀態暫存器測試對比位為1跳轉,為0跳轉
MOVN MOVZ GPR資料轉移到另一個GPR,如果第三個GPR為負數,為0
J JR 26-bit位移量相對PC+4;跳轉到暫存器中記錄的分支目標地址
TRAP 移交作業系統
ERET 異常返回
浮點操作
SP,DP操作
ADD.D ADD.S ADD.PS 雙精度加 單精度加,兩個單精度加
SUB.D SUB.S SUB.PS 雙精度減,單精度減,兩個單精度減
MUL.D MUL.S MUL.PS 雙精度乘 單精度乘 兩個單精度乘
MADD.D MADD.S MADD.PS 雙精度乘加 單精度乘加 兩個單精度乘加
DIV.D DIV.S DIV.PS 雙精度除 單精度除 兩個單精度除
CVT.%.% 型別轉換語句,第一個型別轉換為第二個型別 %=L 64bit長整型 ;W 32bit整型 ;DP;SP所有資料儲存在FPR
C .%.D C.%.S %=LT GT LE GE EQ NE,結果記錄FP狀態暫存器