MIPS寻址方式

MIPS寻址方式一 概述在 MIPS32 指令集中 不单设寻址方式说明字段 R 型指令 由 op 和 funct 字段共同隐含说明当前的寻址方式 R 型格式 000000RsRtRd 型和 J 型指令 由 op 字段隐含说明当前的寻址方式 I 型格式 OPRsRt 立即数 6bits5bits5b 型格式 OP 立即数 6bits26bi

一.概述

在MIPS 32指令集中,不单设寻址方式说明字段

R型指令:由op和funct字段共同隐含说明当前的寻址方式

R型格式:

000000 Rs Rt Rd shamt funct
6bits 5bits 5bits 5bits 5bits 6bits

I型和J型指令:由op字段隐含说明当前的寻址方式

I型格式:

OP Rs Rt 立即数
6bits 5bits 5bits 16bits

J型格式:

OP 立即数
6bits 26bits

二.寻址方式

(1) 立即数寻址

对于I型指令:

OP Rs Rt 立即数
6bits $s2 $s1 16bits

注意: 需要含有立即数,并且根据地址直接取立即数然后再与Rt寄存器相加。

(2)寄存器寻址

对于R型指令:

汇编语言: add $t0, $s1, s 2 表 示 : s2 表示: s2t0 = $s1 + $s2

000000 Rs Rt Rd shamt funct
6bits $s1 $s2 $t0 00000 6bits

注意: 直接对寄存器进行操作。典型的例子为R型指令。

(3) 基址寻址

对于I型指令:

Rs 中存放基址寄存器,因为立即数只有16位,所以我们将其带符号拓展为32位,然后与基址相加,就可以得到目标数的地址。

常见的基址寻址指令有:lw, sw, lh, sh, lb, lbu等

(4)相对寻址

对于I型指令:

将16位的立即数带符号拓展为32位后,将其左移两位(此时它的最低两位就是0),然后与PC寄存器地址相加,所得为目标值的地址

常见相对寻址指令有:beq,bne

(5)伪直接寻址(页面寻址)

对于J型指令:

对于26位的立即数直接左移两位,此时它为28位,而且它的最低两位为0,这时我们取PC的高四位地址做为目标地址的高四位,其余28位为得到的立即数,这个地址为目标值的地址。

三.举例

(1)相对寻址求与PC相加的偏移量

已知此时I型指令立即数字段为 00011

我们先将其拓展为带符号的32位,因为它符号位是1,所以拓展后得到 11111 00011

再将其左移两位得 11111 01100

(2)关于MIPS指令格式的描述

(3)MIPS特点

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

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

(0)
上一篇 2026年3月17日 下午1:27
下一篇 2026年3月17日 下午1:28


相关推荐

  • iphone越狱pp助手源_pp助手越狱版源地址

    iphone越狱pp助手源_pp助手越狱版源地址在为方便大家查看核桃同学分享的每日文章,建议小伙伴们【置顶我们】的公众号哦!进入【米乐科技】公众号,点击右上角打开设置界面,再次右上角选择【置顶/星标】,这样就可以啦!苹果越狱教程篇其实在编辑这篇文章的时候,核桃同学还在纠结是分享实用软件呢,还是先分享玩机技巧。恰好有小伙伴留言说想了解越狱只是,于是乎本文就诞生了。在往期的发布中,苹果机的资源分享的较少。主要是因为苹果手机在官家IOS系统…

    2025年6月29日
    4
  • KETTLE教程-初探

    KETTLE教程-初探KETTLE概念、学习指南

    2022年5月23日
    46
  • websocket token认证(https 不验证证书)

    直接上代码publicstaticStringtest(Stringurl,Stringhead,Stringbody)throwsException{//创建okHttpClient实例,忽略https证书验证OkHttpClientclient=newOkHttpClient().newBuilder().sslSocketFactory(getSSLSocketFactory())

    2022年4月18日
    219
  • java声明数组的时候,同时赋值[通俗易懂]

    java声明数组的时候,同时赋值[通俗易懂]声明数组的时候,同时赋值int[]ary1={1,2,3};

    2022年6月2日
    34
  • shift后门结论_连续五次shift

    shift后门结论_连续五次shift经常会看到一些服务器被入侵后,入侵者会留下一些各式各样的shift后门,五花八门的,各位网络管理员也看看自己的服务器的setch.exe是否被人替换了。这个直接5次shift后进入分区这个比较巧妙了,正常的最后那个按钮是灰色的,前两个是不可点击的,这个恰恰想法,点击后,会弹出一个cmd窗口。这个是比较常见的需要输…

    2026年1月17日
    5
  • 死链处理的详细步骤[通俗易懂]

    死链处理的详细步骤[通俗易懂]死链处理:查找死链;收集死链;提交处理  一:查找死链  1.工具检测,在360极速浏览器的拓展中心下载安装检查网页死链的插件,可以查找当前网页的死链  2.直接点击页面查找死链  3.网站日志分析查找死链,去空间商后台下载IIS。  4.百度站长平台里面有个链接分析,也可以查看  二:收集死链  1.建一个TXT文

    2022年7月22日
    17

发表回复

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

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