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文章
5310浏览量
119984 -
mips
+关注
关注
1文章
238浏览量
47712
发布评论请先 登录
相关推荐
评论