MIPS寄存器说明
来源:互联网 发布:如何鉴别蜜蜡优化 编辑:程序博客网 时间:2024/05/18 03:40
寄存器分为2部分:内部32个通用寄存器和8个专用寄存器。可以直接在GDB中输入info registers就能得到32个通用寄存器和8个专用寄存器的值了,参见下表:
(gdb) info registers
zero at v0 v1 a0 a1 a2 a3
R0 00000000 00000001 0000000f 0000000f 00000000 0000000f 0000000e 00000071
t0 t1 t2 t3 t4 t5 t6 t7
R8 00000072 00000001 00000203 80003cb1 80003cb0 0000007f 00000080 00000008
s0 s1 s2 s3 s4 s5 s6 s7
R16 00000001 80003bb0 00000000 00000000 00000000 00000000 00000000 00000000
t8 t9 k0 k1 gp sp s8 ra
R24 0000101a 0000000d 00000000 00000000 8000bbd0 807fffb8 00000000 80000830
sr lo hi bad cause pc
00000000 00000000 00000007 00000000 00000000 80000830
fsr fir
00000000 00000000
其中32个通用寄存器还有别名,其别名(汇编名)和作用如下:
REGISTER
NAME
USAGE
$0
$zero
常量0(constant value 0)
$1
$at
保留给汇编器(Reserved for assembler)
$2-$3
$v0-$v1
函数调用返回值(values for results and expression evaluation)
$4-$7
$a0-$a3
函数调用参数(arguments)
$8-$15
$t0-$t7
暂时的(或随便用的)
$16-$23
$s0-$s7
保存的(或如果用,需要SAVE/RESTORE的)(saved)
$24-$25
$t8-$t9
暂时的(或随便用的)
$28
$gp
全局指针(Global Pointer)
$29
$sp
堆栈指针(Stack Pointer)
$30
$fp
帧指针(Frame Pointer)
$31
$ra
返回地址(return address)
二、除了32个通用寄存器之外,还有8个专用寄存器,其含义如下:
sr ( 全称Status ,CP0 Reg12) Processor status and control; interrupt control; and shadow set control
lo ( 全称WatchLo , CP0 Reg18) Low-order watchpoint address
hi ( 全称WatchHi, CP0 Reg19) High-order watchpoint address
bad ( 全称BadVAddr, CP0 Reg8) Reports the address for the most recent address-related exception
cause (CP0 Reg13) Cause of last exception
pc 很明显这个是程序计数寄存器,奇怪的是在32个通用寄存器以及CP0的32个寄存器中都没有找到他,最接近的一个是CP0Reg14 EPC (Program counter at last exception.)
fsr 浮点相关寄存器,具体用途不明
fir浮点相关寄存器,具体用途不明
下面将重点描述其中几个比较重要的专用寄存器内容和功能:
2.1 STATUS寄存器
这个寄存器标识了处理的状态。其中,中断控制的8个IM(Interrupt Mask)位和设定处理器大小端的 RE(Reverse Endianess)位。
2.2 CAUSE寄存器
在处理器异常发生时,这个寄存器标识除了异常的原因,其中,最重要的是Bit2到Bit6这5个bit所表示的Exception Code位,它们
标识除了引起异常的原因,具体数值代表的异常类型如下所示:
2.3 EPC寄存器
这个寄存器的作用很简单,就是 保存异常发生时的指令地址。从这个地方可以找到异常发生的指令,再结合BadVAddr, sp, ra等寄存器,就可以推倒出
异常时的程序调用关系,从而定位问题的原因。
- MIPS寄存器说明
- mips寄存器
- mips寄存器
- MIPS寄存器
- mips寄存器
- MIPS寄存器约定
- MIPS寄存器约定
- MIPS 寄存器约定
- MIPS 通用寄存器
- MIPS寄存器介绍
- mips 寄存器理解
- MIPS 通用寄存器
- MIPS 通用寄存器 + 指令
- MIPS 通用寄存器
- MIPS 通用寄存器
- MIPS 寄存器介绍
- 【转】MIPS寄存器介绍
- 【转】MIPS寄存器介绍
- Android编程至高武学之《如来神掌》第四式~佛问迦蓝
- java 模版,有前后台,springmvcSSM,freemaker 企业网站源码,
- 百度HR给的JS面试题
- poj 3411Paid Roads(走重复点的dfs )
- 我个人比较受用的一些习惯
- MIPS寄存器说明
- jquery 处理 CheckBox复选框
- Retrofit全攻略——基础篇
- 通过面试题去认识原型
- Linux用户配置sudo权限(visudo)[转]
- jQuery.extend 函数详解
- nyoj737 石子合并(一) 区间DP
- activiti,工作流,web流程设计器,SSM,activiti工作流
- SpringMVC学习系列-后记 结合SpringMVC和Hibernate-validator,根据后台验证规则自动生成前台的js验证代码