MIPS中有关于分支指令及跳转寻址
分支指令
分支指令包含该指令,和两个操作数,以及跳转的分支地址,该地址是相对于下一条指令的相对地址
分支指令占6位 操作数1占5位 操作数2占5位 分支指令16位
例如
bne $s0 , $s1,EXIT
执行bne分支指令,比较$s0和$s1两个操作数中的数据,如果不相等则跳转到EXIT指定的地址,
如何到达EXit的地址?
这就要利用分支指令那16位二进制数了
16位二进制可以表示的范围为-2^15~2^15也就是-128~127,通过下一指令的地址加上该分支指令值就能得到目标地址
如何进行地址的加减就要用到二进制的补码来进行运算
16位中负数最小值的补码演变:0X0000FFFF(原码)因为是负数所以在FFFF前加一得到OX0001FFFF,再进行按位取反得到OXFFFE0000(补码)
加上下一条指令的地址就是目标地址了
16位中正数的补码就是原码最大值为Ox00007FFFF
跳转指令
跳转指令则只有该指令和跳转的目标地址组成
跳转指令6位 相对跳转地址16位
因为地址都是4位一组所以将该26位地址进行左移2位表示28位的地址
其没有正负之分因此相对简单
OX6位指令码+(11)多的2位二进制码FFFFFF(24位)
左移之后变成
保留6位指令当中的最高4位,之后的目标地址等于原来的26位加上补上的2位得到
OX0FFFFFFC(最大移动地址)
MIPS中有关于分支指令及跳转寻址的更多相关文章
- MIPS学习笔记(一)
写在前面 本文是根据"MIPS Assembly Language Programming CS50 Discussion and Project Book. Daniel J. Ellar ...
- 3.6 MIPS指令简介
计算机组成 3 指令系统体系结构 3.6 MIPS指令简介 MIPS秉承着指令数量少,指令功能简单的设计理念.那这样的设计理念是如何实现的呢?在这一节,我们就将来分析MIPS指令的特点. 相比于X86 ...
- MIPS的寄存器、指令和寻址方式的分类
MIPS的32个寄存器 助记符 编号 作用 zero 0 恒为0 at 1 (assembly temporary)保留给汇编器使用 v0,v1 2-3 (values)子程序返回,即函数调用时的返回 ...
- iOS App之间跳转
1.先来看看效果,这里做了三个功能 从MyApp跳转到YourApp 从MyApp跳转到YourApp的指定页面 从YourApp使用跳转url的方式跳回MyApp 2.实现app之间的跳转需要注意两 ...
- android intent 隐式意图和显示意图(activity跳转)
android中的意图有显示意图和隐式意图两种, 显示意图要求必须知道被激活组件的包和class 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件 A 主activity B ...
- JavaScript权威指南——跳转语句
前言:JavaScript中有一类语句叫做跳转语句.从名称就可以看出,它使得JavaScript的执行可以从一个位置跳转到另一个位置. return语句让解释器跳出循环体的执行,并提供本次调用的返回值 ...
- ThinkPHP5如何修改默认跳转成功和失败页面
ThinkPHP5如何修改默认跳转成功和失败页面 一.总结 一句话总结:直接修改默认跳转页面对应的模板文件的路径:'dispatch_success_tmpl' => APP_PATH . 'i ...
- verilog实现16位五级流水线的CPU带Hazard冲突处理
verilog实现16位五级流水线的CPU带Hazard冲突处理 该文是基于博主之前一篇博客http://www.cnblogs.com/wsine/p/4292869.html所增加的Hazard处 ...
- 16位CPU多周期设计
16位CPU多周期设计 这个工程完成了16位CPU的多周期设计,模块化设计,有包含必要的分析说明. 多周期CPU结构图 多周期CPU设计真值表 对应某一指令的情况,但仅当对应周期时才为对应的输出,不是 ...
随机推荐
- 如何将阿里云mysql RDS备份文件恢复到自建数据库
参考地址:https://help.aliyun.com/knowledge_detail/41817.html PS:目前恢复只支持 Linux 下进行.Linux下恢复的数据文件,无论 Windo ...
- mysql 存在索引但不能使用索引的典型场景
mysql 演示数据库:http://downloads.mysql.com/docs/sakila-db.zip 以%开头的LIKE查询不能够利用B-tree索引 explain select * ...
- cmd 指令
dir 展示当前文件夹内的文件 mkdir 创建文件夹 c: 访问C盘 (d: f:) cd\ 返回主文件 cd .. 返回上一文件夹 cd test 打开文件夹 访问文件夹 rd 删除文件夹 ...
- _3_form_标签
什么是input标签? 处理输入信息 input有哪些类型? 选择: <input type="checkbox"> 多选框,选择爱好等 <input type= ...
- Linux指令--df,du
linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式: df [选项] [文件] 2.命 ...
- WebSphere--部署Servlet
在WebSphere应用服务器上部署 Servlet需要四个步骤:编译 Servlet 或 Web 应用程序.将类文件放到 WebSphere应用服务器上.将相关的 HTML.JSP 和 SHTML ...
- 如何更改wampserver的网站根目录
我之前把网站根目录自定义为:D:/demo,现在想改为:D:www, 过程就是打开httpd.conf文件,搜索demo,然后把demo改为www,之后更改虚拟配置文件,记住D盘下一定要有www目录 ...
- cache.config文件配置模板
# # cache.config # # The purpose of this file is to alter caching parameters of # specific objects o ...
- CRM项目-1模型与站点管理
一.项目环境 语言:python3 IDE:pycharm 组件:bootstarp,jQuery 二.模型 2.1编写模型 联合唯一 class Meta:显示中文名. 认证使用django自带的U ...
- ABP官方文档翻译 5.1 Web API控制器
ASP.NET Web API控制器 介绍 AbpApiController基类 本地化 其他 过滤器 审计日志 授权 反伪造过滤器 工作单元 结果包装和异常处理 结果缓存 校验 模型绑定器 介绍 A ...