• 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存储商。

  • 相关阅读:
    SendInput模拟键盘输入的问题 <转>
    tinyMce3.21 使用随笔
    ORM的一些思考
    VS2008 , 1330 , 数字签名错误.
    .Net Reflector 工具 过期后使用小工具。
    就当是一个新的设计模式!
    OpenSUSE 11 下 Mono 2 开发笔记。
    转:)CNBlogs引用第三方组(控)件明细^_^
    DBLinq ,没实现 Log !
    DotNet 的一些知识点
  • 原文地址:https://www.cnblogs.com/mrxsc/p/5376487.html
Copyright © 2020-2023  润新知