简单入门 MIPS

2020-07-28  本文已影响0人  dounine

title: 简单入门 MIPS
date: 2020-05-27 09:20:42


0. 前言

long long ago,接到一个 x86-64 转 MIPS64 的项目,最近开始。

先简单学习一下 MIPS32 。

参考:bilibili - 计算机组成原理(MIPS汇编语言) 袁春风 | 南京大学

1. 指令

1.1. MIPS指令概览

1.png

1.2. 3种指令中各字段的含义

2.png

1.3. 各指令的 OP 字段的编码/解码表

3.png

1.4. R-Type 指令中,func 字段的编码/解码表

4.png

1.5. MIPS 寻址方式

MIPS 寻址方式由 op 字段确定。

5.png

1.6. 二进制与汇编间的转换举例

举例:指令二进制码转汇编形式:

7.png

举例:汇编形式转成二进制码:

8.png

1.7. 运算指令

MIPS没有标志位。

12.png

运算指令举例(若立即数大于16位,会有专门的指令去处理):

13.png

1.8. 数据传送指令

14.png

数据传送指令举例:

15.png 16.png

1.9. 跳转指令

17.png

举例:

18.png 19.png 20.png

2. 寄存器

32个已编号的寄存器,3个特殊寄存器HILOPC

10.png

32个寄存器的功能定义:

6.png

3. 存储器

11.png

4. 过程调用

示例与问题:

21.png

4.1. MIPS的过程调用

22.png

4.2. MIPS的栈

23.png

4.3. MIPS过程调用中寄存器的约定

被调用者需要保存的寄存器:

调用者需要保存的寄存器:

24.png 25.png

示例一:

26.png 27.png

示例二:

28.png 29.png 30.png
上一篇下一篇

猜你喜欢

热点阅读