移动指令说明

  • 移动操作指令
  • 特殊寄存器HI、LO
  • 移动指令确定过程

移动操作指令

不涉及特殊寄存器LO、HI:

movn:判断地址为rt的通用寄存器的值,如果不为零,将地址为rs的通用寄存器的值赋给地址为rd的通用寄存器;反之,保存rd的值
movz:与movn相反。判断地址为rt的通用寄存器的值,如果为零,将地址为rs的通用寄存器的值赋给地址为rd的通用寄存器;反之,保存rd的值

涉及特殊寄存器LO、HI:

mfhi:将特殊寄存器HI的值赋给地址为rd的通用寄存器
mflo:将特殊寄存器LO的值赋给地址为rd的通用寄存器
mthi:将地址为rs的通用寄存器的值赋给特殊寄存器HI
mtlo:将地址为rs的通用寄存器的值赋给特殊寄存器LO

R型指令

op[31:26] rs[25:21] rt[20:16] rd[15:11] sa[10:6] func[5:0]
名称 指令用法 指令作用 指令码[31:26] 移位相关[10:6] 功能码[5:0]
MOVN movn rd, rs, rt if rt ≠ 0 then rd <- rs 6’b 00_0000 5’b 00000 6’b 00_1011
MONZ monz rd, rs, rt if rt = 0 then rd <- rs 6’b 00_0000 5’b 00000 6’b 00_1010
MFHI mfhi rd rd <- hi 6’b 00_0000 5’b 00000 6’b 01_0000
MFLO mflo rd rd <- lo 6’b 00_0000 5’b 00000 6’b 01_0010
MTHI mthi rs hi <- rs 6’b 00_0000 5’b 00000 6’b 01_0001
MTLO mtlo rs lo <- rs 6’b 00_0000 5’b 00000 6’b 01_0011

特殊寄存器HI、LO

用于保存乘法、除法结果。
当用于保存乘法结果,HI寄存器保存结果的高32位,LO寄存器保存结果的低32位;
当用于保存除法结果,HI寄存器保存余数,LO寄存器保存商

移动指令确定过程

自己动手写CPU(5)——移动指令说明相关推荐

  1. 自己动手写CPU(4)移动操作指令的实现

    自己动手写CPU(4)移动操作指令的实现 指令说明 MIPS32指令集架构中定义的移动操作指令共有6条: movn.movz.mfhi.mthi.mflo.mtlo,后4条指令涉及对特殊寄存器HI.L ...

  2. 【自己动手写CPU】除法指令的实现

    说明 除法指令有两条:div,divu SPECIAL=000000 31-26 25-21 20-16 15-11 10-6 5-0 useage function SPECIAL rs rt 00 ...

  3. 自己动手写CPU(8)加载存储指令的实现

    自己动手写CPU(8)加载存储指令的实现 好久没更新blog了,暑假提前放了.现在收假也该收收心了,继续捡起之前的CPU,自己开的坑不管咋样把它填完吧. 指令介绍 1.加载指令 2.存储指令 修改系统 ...

  4. 自己动手写CPU(5)简单算术操作指令实现_1

    自己动手写CPU(5)简单算数操作指令实现_1 指令介绍 MIPS32指令集架构定义的所有算术操作指令,共有21条 共有三类,分别是: 简单算术指令 乘累加.乘累减指令 除法指令 算术指令操作介绍 一 ...

  5. 自己动手写CPU(3)逻辑、移位操作与空指令

    自己动手写CPU(3)逻辑.移位操作与空指令 指令说明 MIPS32指令集架构中定义的逻辑操作指令有8条: and.andi.or.ori.xor.xori.nor.lui,其中 ori指令已经实现. ...

  6. 自己动手写CPU(1)五级流水线及CPU第一条指令ori

    自己动手写CPU(1)五级流水线及CPU第一条指令ori 动机 不知为何研一的自由时间突然多起来,可能人一闲下来就容易焦虑吧,hhhhhh.正好之前看到一本<自己动手写CPU>,就按照此书 ...

  7. 自己动手写CPU之第九阶段(2)——加载存储指令说明2(lwl、lwr)

    将陆续上传新书<自己动手写CPU>,今天是第38篇,我尽量每周四篇,但是最近已经很久没有实现这个目标了,一直都有事,不好意思哈. 开展晒书评送书活动,在亚马逊.京东.当当三大图书网站上,发 ...

  8. 自己动手写CPU之第九阶段(2)——载入存储指令说明2(lwl、lwr)

    将陆续上传新书<自己动手写CPU>.今天是第38篇,我尽量每周四篇,可是近期已经非常久没有实现这个目标了.一直都有事,不好意思哈. 开展晒书评送书活动,在亚马逊.京东.当当三大图书站点上, ...

  9. 【自己动手写CPU】异常相关指令的实现

    MIPS架构中定义的异常类型 MIPS32架构中,有些事情打断程序的正常的执行流程,这些事情称为中断.陷阱.系统调用以及其他打断程序执行流程的情况,统称为异常. 此处的OpenMIPS处理器只实现了其 ...

  10. 自己动手写CPU之第七阶段(10)——除法指令实现过程1

    将陆续上传本人写的新书<自己动手写CPU>,今天是第33篇,我尽量每周四篇 亚马逊的销售地址如下,欢迎大家围观呵! http://www.amazon.cn/dp/b00mqkrlg8/r ...

最新文章

  1. 配置Keil C51配置开发 STC51单片机过程
  2. 字符串哈希函数(String Hash Functions)
  3. 关于y7000安装Ubuntu的一些心得体会
  4. concat函数java_MySql中CONCAT(str1,str2,...)函数
  5. 笔记-高项案例题-2016年上-整体管理+风险管理
  6. echarts中如何使用timeline组件
  7. 产品经理如何量化关键需求指标
  8. 目标检测的图像特征提取—Haar特征
  9. 网络数据库的复制和同步(转摘)
  10. CoreJavaE10V1P3.2 第3章 Java的基本编程结构-3.2 注释
  11. html中超链接无效怎么办,超链接问题:“引用无效”怎么回事
  12. 一文了解数据库索引:哈希、B-Tree 与 LSM
  13. linux局域网聊天软件,自制局域网内聊天与图片传输小软件
  14. 寄存器的偏移地址是什么意思?还有基地址,偏移地址就是相对于及地址的offset
  15. python - 正则表达式 与或非
  16. Developers are hitting a problem due to tools.jar when using Checkstyle
  17. MySQL优化系列3-Linux查看CPU、内存、磁盘、网络信息
  18. Opencv Python图像处理进阶教程②
  19. 基于Springboot+vue实现前后端分离二手图书交易
  20. 美国要求签证申请人提供社交媒体账号

热门文章

  1. FFT 快速傅里叶变换 NTT 快速数论变换
  2. function name should be lowercase
  3. matlab实现CP分解 代码
  4. 电脑声音没了怎么恢复
  5. 2021阿里云ecs云服务器年终钜惠:1核/2G/50G/1Mbps/65元/年,3年180元,续费3.5折
  6. CPU是计算机的大脑英语,走进PC的大脑:CPU知识全面剖析
  7. 【Python处理EXCEL】基础操作篇:在Python中导入EXCEL数据
  8. java函数式编程-科里化
  9. Win7任务栏右下角图标空白、点击无反应问题的解决
  10. springboot + 操作日志添加