MIPS 指令集(共31条)

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寄存器。

  • 33
    点赞
  • 136
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MIPI 简介及从物理层到协议层和传输介质的测试方法;对于现代的智能手机 对于现代的智能手机 对于现代的智能手机 对于现代的智能手机 对于现代的智能手机 或 PADPADPAD来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机来说,其内部要塞入太多各种不同接口的设 备给手机计和元器件选择带来很大的难度。 计和元器件选择带来很大的难度。 计和元器件选择带来很大的难度。 计和元器件选择带来很大的难度。 计和元器件选择带来很大的难度。 计和元器件选择带来很大的难度。 下图是一个智能手机的例子,我们可以看到其内部存储、 下图是一个智能手机的例子,我们可以看到其内部存储、 下图是一个智能手机的例子,我们可以看到其内部存储、 下图是一个智能手机的例子,我们可以看到其内部存储、 下图是一个智能手机的例子,我们可以看到其内部存储、 下图是一个智能手机的例子,我们可以看到其内部存储、 下图是一个智能手机的例子,我们可以看到其内部存储、 下图是一个智能手机的例子,我们可以看到其内部存储、 下图是一个智能手机的例子,我们可以看到其内部存储、 下图是一个智能手机的例子,我们可以看到其内部存储、 显示、摄像声音等内部接口都是各不相同的。 显示、摄像声音等内部接口都是各不相同的。 显示、摄像声音等内部接口都是各不相同的。 显示、摄像声音等内部接口都是各不相同的。 显示、摄像声音等内部接口都是各不相同的。 显示、摄像声音等内部接口都是各不相同的。 显示、摄像声音等内部接口都是各不相同的。 显示、摄像声音等内部接口都是各不相同的。 显示、摄像声音等内部接口都是各不相同的。 显示、摄像声音等内部接口都是各不相同的。 显示、摄像声音等内部接口都是各不相同的。 即使 以摄像头接口来说,不同的模组 以摄像头接口来说,不同的模组 以摄像头接口来说,不同的模组 以摄像头接口来说,不同的模组 以摄像头接口来说,不同的模组 以摄像头接口来说,不同的模组 以摄像头接口来说,不同的模组 以摄像头接口来说,不同的模组 以摄像头接口来说,不同的模组 厂商也可能会使用不同的接口形式, 厂商也可能会使用不同的接口形式, 厂商也可能会使用不同的接口形式, 厂商也可能会使用不同的接口形式, 厂商也可能会使用不同的接口形式, 厂商也可能会使用不同的接口形式, 厂商也可能会使用不同的接口形式, 这给手机厂商设计和选择器件带来了很大的难度。 这给手机厂商设计和选择器件带来了很大的难度。 这给手机厂商设计和选择器件带来了很大的难度。 这给手机厂商设计和选择器件带来了很大的难度。 这给手机厂商设计和选择器件带来了很大的难度。 这给手机厂商设计和选择器件带来了很大的难度。 这给手机厂商设计和选择器件带来了很大的难度。 这给手机厂商设计和选择器件带来了很大的难度。 这给手机厂商设计和选择器件带来了很大的难度。 这给手机厂商设计和选择器件带来了很大的难度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值