MIPS汇编语言指令分类及寻址模式
https://cloud.tencent.com/developer/article/2063235
一、相关概念
- 指令集:一个给定的计算机体系结构所包含的指令集合。
- 存储程序概念:多种类型的指令和数据均以数字形式存储于存储器的概念,存储程序型计算机即缘于此。1
二、MIPS操作数之32个寄存器
| 寄存器名字 | 寄存器编号 | 寄存器功能 |
|---|---|---|
| zero | 0 | 恒等于零 |
| at | 1 | 被汇编器保留,用于处理大的常数 |
| v0 – v1 | 2-3 | 存放函数返回值 |
| a0 – a3 | 4-7 | 传递函数参数 |
| t0 – t7 | 8-15 | 存放临时变量 |
| s0 – s7 | 16-23 | 存放需要保存的临时值 |
| t8 – t9 | 24-25 | 额外的存放临时变量 |
| k0 – k1 | 26-27 | 用于操作系统内核 |
| gp | 28 | 指向全局变量的指针 |
| sp | 29 | 指向栈顶的指针 |
| fp | 30 | 指向栈帧的指针 |
| ra | 31 | 返回地址,用于函数调用 |
三、MIPS汇编语言指令类型及寻址方式
1. R型指令

2. I型指令


3. J型指令

四、MIPS类型及寻址方式分析
1. MIPS字段命名
| op(6位) | rs(5位) | rt(5位) | rd(5位) | shamt(5位) | funct(6位) |
|---|---|---|---|---|---|
- op:指令的基本操作,成为操作码
- rs:第一源操作数寄存器
- rt:第二源操作数寄存器
- rd:存放操作结果的目的寄存器
- shamt:位移量
- funct:功能码
2. 指令类型
- R型【op为0】
| op(6位) | rs(5位) | rt(5位) | rd(5位) | shamt(5位) | funct(6位) |
|---|---|---|---|---|---|
- I型
| op(6位) | rs(5位) | rt(5位) | immediate(16位) |
|---|---|---|---|
- J型
| op(6位) | immediate(26位) |
|---|---|
3. MIPS寻址方式

- 《计算机组成与设计》第五版翻译版 ↩︎