Chinaunix首页 | 论坛 | 博客
  • 博客访问: 998906
  • 博文数量: 21
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 216
  • 用 户 组: 普通用户
  • 注册时间: 2018-11-27 17:55
文章分类
文章存档

2019年(21)

我的朋友

分类: C/C++

2019-06-18 11:22:01

mips的汇编寄存器都用数字表达,非常反人类,这里记录一下每个寄存器的含义:
32个通用寄存器
0($zero): 永远返回值为0 
1($at): 用做汇编器的暂时变量 
2-3($v0-$v1): 子函数调用返回结果 
4-7($a0-$a3): 子函数调用的参数 
8-15($t0-$t7): 暂时变量,子函数使用时不需要保存与恢复 
16-23($s0-$s7): 子函数寄存器变量。子函数必须保存和恢复使用过的变量在函数返回之前,从而调用函数知道这些寄存器的值没有变化。 
24-25($t8-$t9): 暂时变量,子函数使用时不需要保存与恢复 
26-27($k0-$k1): 通常被中断或异常处理程序使用作为保存一些系统参数 
28($gp): 全局指针。一些运行系统维护这个指针来更方便的存取“static“和”extern”变量。 
29($sp): 堆栈指针 
30($s8/$fp): 第9个寄存器变量。子函数可以用来做桢指针 
31($ra): 子函数的返回地 
cp0:协处理器0,MIPS对CPU的控制用cp0完成
阅读(270602) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~