Translate MIPS assembly language. +Using byte addressed memory and the following
ID: 3937688 • Letter: T
Question
Translate MIPS assembly language.
+Using byte addressed memory and the following register assignments
i=$s0
j=$s1
k=$s2
starting address a = $s3
starting address b = $s4
========Translate MIPS assembly language.==============
a) i = j +21;
-------------------------------------------
b) k = i – ( j + k )
-------------------------------------------
c) j = b[2] * 8
-------------------------------------------
d) b[2*j] = 10;
-------------------------------------------
f) a[i]++
-------------------------------------------
Explanation / Answer
1) i = j + 21;
addi $s0,$s1,21 #adding 21 to $s1 and assiging into $s0
2) k = i - (j + k)
$s2 = $s0 - ($s1 + $s2)
add $to,$s1,$s2 #$t0 = $s1+$s2
sub $t1,$s0,$to #$t1 = $s0-$to
move $s2,$t1
3) j = b[2] * 8
$s1 = $s4[2] * 8
lw $s4, 0($sp) #b[2]
mult $s4,8 #b[2] * 8
move $s1,$s4 #$s1 = $s4
4)b[2*j] = 10;
$s4[2*$s1] = 10;
mult 2,$s1 #2*$s1
lw $s4, 1($s1) #$s4[2*$s1]
sw $s4,10 #store #s4[2*$s1] = 10
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.