参考链接

MIPS 指令集(共31条)

MIPS 指令集(共31条)

助记符

指令格式

示例

示例含义

操作及其解释

Bit #

31..26

25..21

20..16

15..11

10..6

5..0

R-type

op

rs

rt

rd

shamt

func

add

000000

rs

rt

rd

00000

100000

add $1,$2,$3

$1=$2+$3

rd <- rs + rt   ;其中rs=$2,rt=$3, rd=$1

addu

000000

rs

rt

rd

00000

100001

addu $1,$2,$3

$1=$2+$3

rd <- rs + rt   ;其中rs=$2,rt=$3, rd=$1,无符号数

sub

000000

rs

rt

rd

00000

100010

sub $1,$2,$3

$1=$2-$3

rd <- rs - rt   ;其中rs=$2,rt=$3, rd=$1

subu

000000

rs

rt

rd

00000

100011

subu $1,$2,$3

$1=$2-$3

rd <- rs - rt   ;其中rs=$2,rt=$3, rd=$1,无符号数

and

000000

rs

rt

rd

00000

100100

and $1,$2,$3

$1=$2 & $3

rd <- rs & rt   ;其中rs=$2,rt=$3, rd=$1

or

000000

rs

rt

rd

00000

100101

or $1,$2,$3

$1=$2 | $3

rd <- rs | rt   ;其中rs=$2,rt=$3, rd=$1

xor

000000

rs

rt

rd

00000

100110

xor $1,$2,$3

$1=$2 ^ $3

rd <- rs xor rt   ;其中rs=$2,rt=$3, rd=$1(异或)

nor

000000

rs

rt

rd

00000

100111

nor $1,$2,$3

$1=~($2 | $3)

rd <- not(rs | rt)   ;其中rs=$2,rt=$3, rd=$1(或非)

slt

000000

rs

rt

rd

00000

101010

slt $1,$2,$3

if($2<$3) 
  $1=1 else
   $1=0

if (rs < rt) rd=1 else rd=0 ;其中rs=$2,rt=$3, rd=$1

sltu

000000

rs

rt

rd

00000

101011

sltu $1,$2,$3

if($2<$3) 
  $1=1 else
   $1=0

if (rs < rt) rd=1 else rd=0 ;其中rs=$2,rt=$3, rd=$1
  (无符号数)

sll

000000

00000

rt

rd

shamt

000000

sll $1,$2,10

$1=$2<<10

rd <- rt << shamt  ;shamt存放移位的位数,
  也就是指令中的立即数,其中rt=$2, rd=$1

srl

000000

00000

rt

rd

shamt

000010

srl $1,$2,10

$1=$2>>10

rd <- rt >> shamt ;(logical) ,其中rt=$2, rd=$1

sra

000000

00000

rt

rd

shamt

000011

sra $1,$2,10

$1=$2>>10

rd <- rt >> shamt  ;(arithmetic) 注意符号位保留
 其中rt=$2, rd=$1

sllv

000000

rs

rt

rd

00000

000100

sllv $1,$2,$3

$1=$2<<$3

rd <- rt << rs  ;其中rs=$3,rt=$2, rd=$1

srlv

000000

rs

rt

rd

00000

000110

srlv $1,$2,$3

$1=$2>>$3

rd <- rt >> rs  ;(logical)其中rs=$3,rt=$2, rd=$1

srav

000000

rs

rt

rd

00000

000111

srav $1,$2,$3

$1=$2>>$3

rd <- rt >> rs  ;(arithmetic) 注意符号位保留
 其中rs=$3,rt=$2, rd=$1

jr

000000

rs

00000

00000

00000

001000

jr $31

goto $31

PC <- rs

I-type

op

rs

rt

immediate

addi

001000

rs

rt

immediate

addi $1,$2,100

$1=$2+100

rt <- rs + (sign-extend)immediate ;其中rt=$1,rs=$2

addiu

001001

rs

rt

immediate

addiu $1,$2,100

$1=$2+100

rt <- rs + (zero-extend)immediate ;其中rt=$1,rs=$2

andi

001100

rs

rt

immediate

andi $1,$2,10

$1=$2 & 10

rt <- rs & (zero-extend)immediate ;其中rt=$1,rs=$2

ori

001101

rs

rt

immediate

andi $1,$2,10

$1=$2 | 10

rt <- rs | (zero-extend)immediate ;其中rt=$1,rs=$2

xori

001110

rs

rt

immediate

andi $1,$2,10

$1=$2 ^ 10

rt <- rs xor (zero-extend)immediate ;其中rt=$1,rs=$2

lui

001111

00000

rt

immediate

lui $1,100

$1=100*65536

rt <- immediate*65536 ;将16位立即数放到目标寄存器高16
         位,目标寄存器的低16位填0

lw

100011

rs

rt

immediate

lw $1,10($2)

$1=memory[$2
 +10]

rt <- memory[rs + (sign-extend)immediate] ;rt=$1,rs=$2

sw

101011

rs

rt

immediate

sw $1,10($2)

memory[$2+10]
 =$1

memory[rs + (sign-extend)immediate] <- rt ;rt=$1,rs=$2

beq

000100

rs

rt

immediate

beq $1,$2,10

if($1==$2)  
 goto PC+4+40

if (rs == rt) PC <- PC+4 + (sign-extend)immediate<<2

bne

000101

rs

rt

immediate

bne $1,$2,10

if($1!=$2) 
 goto PC+4+40

if (rs != rt) PC <- PC+4 + (sign-extend)immediate<<2

slti

001010

rs

rt

immediate

slti $1,$2,10

if($2<10) 
  $1=1 else
   $1=0

if (rs <(sign-extend)immediate) rt=1 else rt=0 ;
   其中rs=$2,rt=$1

sltiu

001011

rs

rt

immediate

sltiu $1,$2,10

if($2<10) 
  $1=1 else
   $1=0

if (rs <(zero-extend)immediate) rt=1 else rt=0 ;
  其中rs=$2,rt=$1

J-type

op

address

j

000010

address

j 10000

goto 10000

PC <- (PC+4)[31..28],address,0,0   ;address=10000/4

jal

000011

address

jal 10000

$31<-PC+4;
 goto 10000

$31<-PC+4;PC <- (PC+4)[31..28],address,0,0
   ;address=10000/4

注意:因为MIPS16只有16个16位的寄存器,所以JAL指令中$31改成$15, 所有立即数均无需扩展,LUI指令直接就是将立即数付给RT寄存器。

MIPS 指令集格式相关推荐

  1. MIPS指令集 指令的格式

    目录 https://blog.csdn.net/weixin_45792450/article/details/109314693 MIPS指令格式 MIPS的指令是32位的,相当于一条指令的含义与 ...

  2. 【计组实验】P3 Verilog多周期处理器开发 MIPS指令集

    全部代码+测试指令: 链接:CPUMultiCycle p3正确运行_百度网盘 提取码:gmzb (实验P1P2)Logisim电路图以及Verilog单周期处理器设计,见以下博客: [计算机组成原理 ...

  3. MIPS指令集处理器设计(支持64条汇编指令)

    一.题目背景和意义 二.国内外研究现状 (略) 三.MIPS指令集处理器设计与实现 (一).MIPS指令集功能性梳理 1.MIPS指令集架构 (1).mips基础指令集格式总结 MIPS是(Micro ...

  4. 【计算机组成与设计 硬件/软件接口-2】MIPS指令集架构

    指令:计算机的语言 引言 所谓指令集,指的就是计算机的全部指令,这章节将以MIPS指令集作为学习对象,如果是x86指令集,还请参考<深入理解计算机系统>.MIPS指令集在嵌入式芯片市场占有 ...

  5. MIPS指令集(学习中)

    MIPS指令集(学习笔记) 先序: 1.指令存储在存储器当中,每条指令包括操作类型.操作数. 2.MIPS汇编语法规定,可以用两种方式表示寄存器,比如10或10或10或t2都是"10号寄存器 ...

  6. mips j指令_MIPS处理器 MIPS指令集(上)

    目录 引言 MIPS指令集有固定的MIPS指令格式和MIPS指令类型,还有固定的MIPS寄存器,它们是了解MIPS指令必不可少的前提. 其中,寄存器是MIPS处理器高效的临时存储工具,其存取速度极快, ...

  7. 龙芯购买MIPS指令集的授权

    以前指责龙芯购买MIPS授权的那篇文章让人啼笑皆非,只能用无知来概况 我在IT从业多年,非常赞同龙芯购买MIPS指令集的授权!分几个方面来阐述: (1)什么是指令集?指令集好像英文的26个字母,本身什 ...

  8. 【汇编语言与计算机系统结构笔记18】MIPS指令集与汇编程序设计 异常处理

    本次笔记内容: 28.MIPS指令集与汇编程序设计-2 补充:MIPS32异常处理 注:我找到了对应内容的课件,请见我于GitHub的CS笔记仓库. 本节课对应幻灯片:汇编语言程式设计-MIPS.pd ...

  9. MIPS 指令集速查

    MIPS 指令集(共31条) 助记符 指令格式 示例 示例含义 操作及其解释 Bit # 31..26 25..21 20..16 15..11 10..6 5..0 R-type op rs rt ...

最新文章

  1. 微软云计算业务增长,或成全球最具价值上市公司
  2. Selenium2(WebDriver)总结(二)---Firefox的firebug插件参数设置(补充)
  3. 8个好用到爆的Python实用技巧,至少不用吃亏半年
  4. 隔空操作之隔空下象棋
  5. G7终极2.3.7完美版,黑白分明,值得永久收藏使用
  6. type=InnoDB ENGINE=InnoDB
  7. 计算机课搞事情检讨,上微机课玩游戏检讨书
  8. C#集合类型总结和性能分析
  9. 一个函数统一238个机器学习R包,这也太赞了吧
  10. smb服务器速度测试_通过 SMB 直通优化文件服务器的性能 | Microsoft Docs
  11. Python进阶:值传递,引用传递?不存在的,是赋值传递
  12. windows模拟微信小程序_微信PC端可以打开小程序了!目前仅支持Windows系统
  13. spring boot: Whitelabel Error Page的解决方案 --转载https://blog.csdn.net/sinat_31270499/article/details/822
  14. grads插值_grads各类参数设置.pptx
  15. 教你如何用PS轻松制作ico图标
  16. jimu积木报表打印时多一页空白页-问题解决
  17. 阿里云天池超级码力在线编程大赛初赛 第2场 ABCD(A.计算几何 判断点在三角形内 D.大施罗德数/超级卡特兰数)
  18. 对象存储场景化开发实践-马毅-专题视频课程
  19. 判断一个点是否在多边形内部
  20. 关于百度“凤巢”的猜想及其它

热门文章

  1. 注解@JsonIgnore的使用方法效果及其他相关注解应用
  2. 怎样使用BorderLayout管理布局页面?效果怎样?
  3. windows验证mysql是否安装成功
  4. java数据库返回表格中_Java中sql语句操作数据库及将数据库信息显示在表格中
  5. 请用英文简单介绍一下自己
  6. -XX:CMSInitiatingOccupancyFraction=70 和-XX:+UseCMSInitiatingOccupancyOnly
  7. Java泛型概念及作用
  8. 深度学习 val 和 dev
  9. 理解python3-dev
  10. html浏览器获取域账号密码,Firefox/chrome等FTP域内权限限制不严 可通过XSS遍历网站目录并获取源码...