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