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

MIPS汇编语言指领分类及寻址模式一、普及一些相关概念指令集:一个给定的计算机体系结构所包含的指令集合。存储程序概念:多种类型的指令和数据均以数字形式存储于存储器的概念,存储程序型计算机即缘于此。1二、MIPS操作数之32个寄存器寄存器名字寄存器编号寄存器功能$zero$0恒等于零$at$1被汇编器保留,用于处理大的常数$v0–$v

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

在这里插入图片描述

一、相关概念

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

R型指令

2. I型指令

I型指令
I

3. J型指令

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寻址方式

MIPS寻址方式


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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ssh-server配置文件参数PermitRootLogin介绍

    ssh-server配置文件参数PermitRootLogin介绍sshd_config是sshd的配置文件,其中PermitRootLogin可以限定root用户通过ssh的登录方式,如禁止登陆、禁止密码登录、仅允许密钥登陆和开放登陆,以下是对可选项的概括:参数类别是否允许ssh登陆登录方式交互shellyes允许没有限制没有限制without-password允许除密码以外没

    2022年6月11日
    67
  • pycharm激活码key is invalid(JetBrains全家桶)

    (pycharm激活码key is invalid)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月31日
    663
  • Inputstream_java input

    Inputstream_java inputimportjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;publicclassInputStreamDemo{/**InputStream字节输入流*FileInputStream:文件字节输入…

    2022年9月21日
    3
  • 如何在阿里云服务器部署程序并用域名直接访问

    如何在阿里云服务器部署程序并用域名直接访问闲来无事,买了一个最便宜的阿里云服务器来学习,一年三百多,适合新手了解程序等。一般买服务器只有公网的IP地址,也就是类似10.205.25.32这种形式的。如何想用域名(例如www.baidu.com)直接访问的你网站,可以在阿里云直接再买个域名,将域名解析绑定ip地址。有人想知道怎么解析域名,我这里补充一下域名相关内容1.域名:…

    2022年6月18日
    31
  • 利用java实现发送邮件

    利用java实现发送邮件电子邮件的应用非常广泛,常见的如在某网站注册了一个账户,自动发送一封激活邮件,通过邮件找回密码,自动批量发送活动信息等。很显然这些应用不可能和我们自己平时发邮件一样,先打开浏览器,登录邮箱,创建邮件再发送。本文将简单介绍如何通过Java代码来创建电子邮件,并连接邮件服务器发送邮件。电子邮件协议电子邮件在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括SMTP,POP3,IMA…

    2022年5月15日
    44
  • MySQL二进制日志格式类型详解「建议收藏」

    MySQL二进制日志格式类型详解「建议收藏」mysql很多有类型的日志,按照组件划分的话,可以分为服务层日志和存储引擎层日志:-服务层日志:二进制日志、慢查日志、通用日志-存储引擎层日志:innodb(重做日志、回滚日志)其中比较重要的就是服务器层的二进制日志,其中记录了所有对mysql数据库的修改事件,包括增删改查事件和对表结构的修改事件。要注意的一点是,只有成功执行了的事件才会记录在二进制日志中,未执行成功的不会保存

    2022年6月5日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号