Summary of MIPS instructions used in CPE 315

Name Format 6bits 5bits 5bits 5bits 5bits 6bits Comments
(decimal nums)
Meaning
(decimal nums)
bit positions 31-26 25-21 20-16 15-11 10-6 5-0    
add R 0 2 3 1 0 20 add $1,$2,$3 $1=$2+$3 (V detected)
sub R 0 2 3 1 0 22 sub $1,$2,$3 $1=$2-$3 (V detected)
addi I 8 2 1 64 addi $1,$2,100 $1=$2+sign_ext(100) (V detected)
addu R 0 2 3 1 0 21 addu $1,$2,$3 $1=$2+$3
subu R 0 2 3 1 0 23 subu $1,$2,$3 $1=$2-$3
addiu I 9 2 1 64 addiu $1,$2,100 $1=$2+sign_ext(100)
and R 0 2 3 1 0 24 and $1,$2,$3 $1=$2^$3
or R 0 2 3 1 0 25 or $1,$2,$3 $1=$2v$3
andi I C 2 1 64 andi $1,$2,100 $1=$2^100
ori I D 2 1 64 ori $1,$2,100 $1=$2 v 100
sll R 0 0 2 1 A 0 sll $1,$2,10 $1 = $2 << 10
srl R 0 0 2 1 A 2 srl $1,$2,10 $1 = $2 >> 10
lw I 23 2 1 64 lw $1,100($2) $1=Memory[$2+sign_ext(100)]
sw I 2B 2 1 64 sw $1,100($2) Memory[$2+sign_ext(100)]=$1
lbu I 24 2 1 64 lbu $1,100($2) $1=0x000000 || Memory[$2+sign_ext(100)]
sb I 28 2 1 64 sb $1,100($2) Memory[$2+sign_ext(100)] = $1[7-0]
lui I F 0 1 64 lui $1,100 $1=100 x 2 16
beq I 4 1 2 19 beq $1,$2,place
(place is 104 addresses ahead)
if($1==$2) pc=pc+4+sign_ext(25<<2)
bne I 5 1 2 fffa bne $1,$2,place
(place is 20 addresses back )
if ($1!=$2) pc=pc+4+sign_ext(-6<<2)
slt R 0 2 3 1 0 2A slt $1,$2,$3 if ($2 < $3) $1=1
else $1=0
slti I A 2 1 64 slti $1,$2,100 if ($2 < sign_ext(100)) $1=1
else $1=0
sltu R 0 2 3 1 0 2B sltu $1,$2,$3 if ($2<$3) $1=1
else $1=0
sltiu I B 2 1 64 sltiu $1,$2,100 if ($2<100) $1=1
else $1=0
j J 2 c0f j 12348 pc = pc+4[31-28] || (12348 << 2)
jr R 0 12 0 0 0 8 jr $18 pc = $18
jal J 3 c0f jal 12348 $31 = pc+4
pc = pc+4[31-28] || (12348 << 2)
syscall n/a 0 0 0xD syscall xfer control to OS; $v0 contains syscall code



Format R   op rs rt rd shamt funct
Format I   op rs rt address/immediate
Format J   op target address

Last updated on 11/1/04