MIPS 有32個寄存器(0~31), 每個寄存器各有不同的用途。
寄存器 zero ( 0): 0 常量。不能保存數(shù)據(jù)
寄存器 at (1): 預(yù)留給 匯編編譯器用
寄存器 v0 (2)
v1 (3) : 這兩個寄存器用來保存函數(shù)的返回值
寄存器 a0 (4)
a1 (5)
a2 (6)
a3 (7): 用來傳遞函數(shù)的參數(shù)
寄存器 t0 (8)
t1 (9)
t2 (10)
t3 (11)
t4 (12)
t5 (13)
t6 (14)
t7 (15)
t8 (24)
t9 (25): 保存代碼里的臨時值。 函數(shù)調(diào)用者需要注意保存這些寄存器的數(shù)值(caller-saved),因為有可能會被被調(diào)用的函數(shù)重寫
寄存器 s0 (16)
s1 (17)
s2 (18)
s3 (19)
s4 (20)
s5 (21)
s6 (22)
s7 (23) : 用來需要保存的臨時值。 被調(diào)用函數(shù)需要保存,恢復(fù)用到的這些寄存器(callee-saved)
寄存器 k0 (26)
k1 (27): 預(yù)留給 OS 內(nèi)核
寄存器 gp (28): Pointer to global area
寄存器 sp (29): 棧指針
fp/s8 (30): frame 指針;也可作為 callee-saved 變量
ra (31): 保存函數(shù)調(diào)用返回地址
另外,還有 PC (程序寄存器), IR (Instruction Register)。 IR保存了最近取到的指令。
-
寄存器
+關(guān)注
關(guān)注
31文章
5334瀏覽量
120208 -
mips
+關(guān)注
關(guān)注
1文章
239瀏覽量
47749
發(fā)布評論請先 登錄
相關(guān)推薦
評論