MIPS指令集相关

 

寄存器:

寄存器号            符号名            用途
 0                 始终为0     看起来象浪费,其实很有用
 1                 at          保留给汇编器使用
 2-3               v0,v1       函数返回值
 4-7               a0-a3       前头几个函数参数
 8-15              t0-t7       临时寄存器,子过程可以不保存就使用
 24-25             t8,t9       同上
 16-23             s0-s7       寄存器变量,子过程要使用它必须先保存
                               然后在退出前恢复以保留调用者需要的值
 26,27             k0,k1       保留给异常处理函数使用
 28                gp          global pointer;用于方便存取全局或者静态变量
 29                sp          stack pointer
 30                s8/fp       第9个寄存器变量;子过程可以用它做frame pointer
 31                 ra         返回地址
硬件上这些寄存器并没有区别(除了0号),区分的目的是为了不同的编译器产生的代码可以通用

 

特殊寄存器

MIPS32架构中定义的特殊寄存器有三个:PC(Program Counter程序计数器)、HI(乘除结果高位寄存器)、LO(乘除结果低位寄存器)。进行乘法运算时,HI和LO保存乘法运算的结果,其中HI存储高32位,LO存储低32位;进行除法运算时,HI和LO保存除法运算的结果,其中HI存储余数,LO存储商。

 

posted @ 2016-04-10 23:19  xsc906476903  阅读(200)  评论(0编辑  收藏  举报