一文了解MIPS的寄存器

电子说

1.3w人已加入

描述

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分