前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MIPS汇编语言指令分类及寻址模式

MIPS汇编语言指令分类及寻址模式

作者头像
全栈程序员站长
发布于 2022-08-01 01:09:19
发布于 2022-08-01 01:09:19
1.8K0
举报

大家好,又见面了,我是你们的朋友全栈君。

一、相关概念

  • 指令集:一个给定的计算机体系结构所包含的指令集合。
  • 存储程序概念:多种类型的指令和数据均以数字形式存储于存储器的概念,存储程序型计算机即缘于此。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寻址方式

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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126986.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
『计算机的组成与设计』-指令:计算机的语言
计算机语言中的基本单词称为指令。一台计算机的全部指令称为该计算机的指令集。 尽管机器语言种类繁多,但他们之间十分相似,其差异性更像人类语言的”方言”。 本篇讲解 MIPS 指令集。
1ess
2021/10/29
3.1K0
『计算机的组成与设计』-指令:计算机的语言
MIPS指令集与简要分析R格式指令I格式指令J格式指令指令分析
R格式指令 基本格式 标记 op rs rt rd shamt funct 位数 31-26 25-21 20-16 15-11 10-6 5-0 功能 操作符 源操作数寄存器1 源操作数寄存器2 目的操作数寄存器 位移量 操作符附加段 指令 算数类指令 指令 op rs rt rd shamt funct 功能 add 000000 rs rt rd 00000 100000 rd=rs+rt addu 000000 rs rt rd 00000 100001 r
月见樽
2018/04/27
9.1K0
MIPS指令集与简要分析R格式指令I格式指令J格式指令指令分析
MIPS架构深入理解7-汇编语言理解
本文主要的目标读者是习惯于C语言编程,但是,有时候不得不读懂一些汇编代码甚至做一些小范围的改动的开发者,比如操作系统移植时启动代码start.S文件的阅读与修改。如果想要深入研究汇编程序如何编写,请参考所使用的MIPS工具链的说明文档。
Tupelo
2022/08/15
3.5K0
MIPS架构深入理解7-汇编语言理解
【十分钟教会你汇编】MIPS编程入门
无意中找到一篇十分好用,而且篇幅也不是很大的入门教程,通篇阅后,再把“栗子”敲一遍,基本可以有一个比较理性的认识,从而方便更好地进一步深入学习。
云深无际
2020/10/14
2.8K1
X86 寻址方式、AT&T 汇编语言相关知识、AT&T 与 Intel 汇编语言的比较、gcc 嵌入式汇编
注:本分类下文章大多整理自《深入分析linux内核源代码》一书,另有参考其他一些资料如《linux内核完全剖析》、《linux c 编程一站式学习》等,只是为了更好地理清系统编程和网络编程中的一些概念
s1mba
2017/12/28
3.3K0
X86 寻址方式、AT&T 汇编语言相关知识、AT&T 与 Intel 汇编语言的比较、gcc 嵌入式汇编
WinMIPS64汇编指令详解
以PC程序计数器和指令中常数之和作为地址,即16位地址左移2位(即乘以4)与PC计数器相加
叶茂林
2023/10/23
8230
WinMIPS64汇编指令详解
汇编语言知识总结
汇编是一类编程语言,每种cpu对应一种cpu语言,这些语言语法大同小异,指令集有所不同,
乱码三千
2021/08/24
2.9K0
汇编语言知识总结
ARM指令集介绍「建议收藏」
ARM 指令集是针对ARM体系架构设计的指令。在BootLoader引导的第一阶段以及内核的第一阶段都会有一个使用汇编语言编写的文件,在不跑操作系统的裸板中也有一段用来初始化开发板环境的汇编代码。所以无论是开发带操作系统的板子,还是裸板开发,汇编语言都很有必要学习一番,最少要了解一些常用的汇编指令。要想设计出性能超强的系统,ARM的工作原理是必须掌握的。
全栈程序员站长
2022/11/15
2.8K0
ARM指令集介绍「建议收藏」
MIPS架构深入理解2-MIPS架构体系
架构这个词,英文是architecture,牛津词典对其解释为the design and structure of a computer system。所以,这个词体现的是设计和结构,也就是说,是一个抽象机器或通用模型概念上的描述,而不是一个真实机器的实现。这就好比一辆手动挡车,无论是前轮驱动还是后轮驱动,它的油门总是在右,离合器在左。这里,油门和离合器的位置就相当于架构,前轮还是后轮驱动是具体实现。所以,相同的架构,实现未必相同。
Tupelo
2022/08/15
6K0
MIPS架构深入理解2-MIPS架构体系
汇编语言之MIPS汇编
简介 咱们知道x86架构cpu用于PC端和工作站较多,ARM架构cpu常见于手机和单片机,那么MIPS架构的cpu主要在哪些设备可以找到它们的身影呢? 中国龙芯 PS游戏机 学习环境搭建 安装JDK,
乱码三千
2021/08/24
9.9K0
汇编语言之MIPS汇编
汇编语言从入门到精通-3操作数的寻址方式
  操作数是指令或程序的主要处理对象。如果某条指令或某个程序不处理任何操作数,那么,该指令或程序不可能有数据处理功能。在CPU的指令系统中,除NOP(空操作指令)、HLT(停机指令)等少数指令之外,大量的指令在执行过程中都会涉及到操作数。所以,在指令中如何表达操作数或操作数所在位置就是正确运用汇编指令的一个重要因素。
墨文
2020/02/28
2.9K0
汇编语言从入门到精通-3操作数的寻址方式
16位汇编指令_汇编语言指令表
陷阱标志TF,TF=1,处理器处于单步执行指令(处理器每执行一条指令便产生一个内部中断,可以对程序进行单步调试)
全栈程序员站长
2022/11/01
1.2K0
汇编语言期末复习不挂科——知识点总结
数据的表示和类型 二进制:二进制的表示元素是0和1,书写时,在数据后面紧跟一个字母B,如:0101B 八进制:八进制的表示元素是:0-7,书写时,在数据后面紧跟字母Q,如1234Q 十六进制:基本元素是0-9,A-F,其中A-F依次代表10-15 ▮书写时,数据后面紧跟字母H,当十六进制的第一个字符是字母时,在其前面必须添加一个“0” 寄存器 16位寄存器:
全栈程序员站长
2022/07/31
1K0
汇编语言期末复习不挂科——知识点总结
计算机组成原理:第四章 指令系统
一台计算机中所有机器指令的集合,称为这台计算机的指令系统。 指令系统是表征一台计算机性能的重要因素,它的格式与功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件,影响到机器的适用范围。
Here_SDUT
2022/08/11
1.8K0
计算机组成原理:第四章  指令系统
计算机指令考前小记
汇编指令movw 4(%ebp),%ax的RTL语言为:R[ax] <- M[R[ebp]+4]
WuShF
2023/11/13
3890
计算机指令考前小记
【AI系统】CPU 指令集架构
我们知道,计算机指令是指挥机器工作的指示和命令,程序就是一系列指令按照顺序排列的集合,执行程序的过程就是计算机的工作过程。从微观上看,我们输入指令的时候,计算机会将指令转换成二进制码存储在存储单元里面,然后在即将执行的时候拿出来。那么计算机是怎么知道我们输入的是什么指令,指令要怎么执行呢?
用户11307734
2024/11/26
2740
微机原理与接口技术 重点详解与章节总结——指令系统和汇编程序设计
•8086中,CS、DS、ES和SS段寄存器在程序运行过程中分别指向当前的代码段、数据段、附加段和堆栈段。而操作数可能存放在代码段中,也可能存放在数据段、附加段、堆栈段中,还可能存放在8086CPU内部的寄存器中。**存放操作数的内存单元相对于其所在段的段起始地址偏移量称为偏移地址或有效地址EA(Effective Address)。获得操作数所在地址的方法称为寻址方式。**在8086系统中,一般将寻址方式分为两类:一类是寻找操作数的地址;另一类是寻找要执行的下一条指令的地址,即程序寻址。 •MOV DST, SRC 助记符 目的操作数 源操作数
timerring
2022/07/20
1.2K0
微机原理与接口技术 重点详解与章节总结——指令系统和汇编程序设计
GCC内嵌汇编语言
绝大多数 Linux 程序员以前只接触过DOS/Windows 下的汇编语言,这些汇编代码都是 Intel 风格的。但在 Unix 和 Linux 系统中,更多采用的还是 AT&T 格式,两者在语法格式上有着很大的不同。
ternturing
2018/09/12
2.7K0
第三章 寻址方式与指令系统
cheese
2023/10/25
9340
第三章 寻址方式与指令系统
PTX与汇编语言
总之,尽管汇编语言和PTX都属于低级编程语言,但它们在指令架构、并行编程支持、指令集与优化方式以及可移植性与灵活性方面存在显著差异。汇编语言更倾向于传统的单线程或多任务环境中的硬件控制,而PTX则专为GPU的并行计算架构设计,能够高效地管理大量线程并充分利用GPU的并行计算能力。这两种语言适用于不同的使用场景,在各自的领域发挥着重要作用。
jack.yang
2025/04/05
1510
推荐阅读
相关推荐
『计算机的组成与设计』-指令:计算机的语言
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档