MIPS中32个通用寄存器常用命名

Posted on 2009-09-02 17:22 王小明 阅读(1260) 评论(0)  编辑 收藏 引用
存器编号      助记符       用法
  $0      zero    

永远返回0,有点象NULL设备,往里写东西都给你丢了。看似浪费,其实有用的。等会学到汇编的时候再提,呵呵!
 $1      at     (Assembly Temporary汇编缓存)保留给汇编使用
 $2~$3        v0,v1     子函数调用的返回结果。 就是return 返回的那些东西保存的地方,这个简单。
 $4~$7      a0,a3     (Arguments)子函数调用的前几个参数,就像行参保存的东西。
 $8~$15         t0,t7     暂时变量,子函数使用时不需要保存与恢复,就像子函数中使用tmp这样的临时变量。
 $16~$23      s0,s7      子函数寄存器变量。子函数写入时必须保存其值并在返回前恢复原值,从而调用函数看到的这些寄存器的值没有变化。
 $24~$25        t8,t9      同t0 t7等 。
 $26~$27      k0,k1     异常使用的。保留给中断或自陷处理程序使用,其值可能在你眼皮底下改变。
 $28      gp     (Global Pointer)全局指针,这个比较有意思。一些运行系统维护这个指针以便于存取static和extern 变量。
 $29      sp     (Stack Pointer)栈指针
 $30      s8/fp    

第九个寄存器变量,相当于s8;

如果需要的话作为帧指针,否则作sacved register。
 $31      ra     子程序的返回地址
只有注册用户登录后才能发表评论。