MIPS汇编语言指令分类及寻址模式
一、普及一些相关概念
- 指令集:一个给定的计算机体系结构所包含的指令集合。
- 存储程序概念:多种类型的指令和数据均以数字形式存储于存储器的概念,存储程序型计算机即缘于此。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汇编语言指令类型及寻址方式
R型指令
I型指令
J型指令
1.MIPS字段命名:
op(6位) | rs(5位) | rt(5位) | rd(5位) | shamt(5位) | funct(6位) |
---|
- op:指令的基本操作,成为操作码
- rs:第一源操作数寄存器
- rt:第二源操作数寄存器
- rd:存放操作结果的目的寄存器
- shamt:位移量
- funct:功能码
2.指令类型:
(1)R型【op为0】
op(6位) | rs(5位) | rt(5位) | rd(5位) | shamt(5位) | funct(6位) |
---|
(2)I型
op(6位) | rs(5位) | rt(5位) | immediate(16位) |
---|
(3)J型
op(6位) | immediate(26位) |
---|
MIPS寻址方式
- 《计算机组成与设计》第五版翻译版 ↩