MIPS 的寄存器

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保存了最近取到的指令。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值