Question: only using add, sub, addi, sw , lw: help me write this code: a [ k ] = ( * p ) - ( a

only using add, sub, addi, sw, lw: help me write this code:
a[k]=(*p)-(a[4*k+7]-6);
# Assume $s0<- a
# Assume $s1<- k
# Assume $s2<- p
add $t1,$s1,$s1 #t1<-2k
add $t1,$t1,$t1 #t1<-4k
add $t2,$t1,$t1 #t2<-8k
add $t2,$t2,$t2 #t2<-16k
add $t3,$t1,$s0 #t3<-address of a[k]
lw $t3,0($t3) # t3<- a[k]
add $t4,$s0,$t2 # t4<- address of a[4k]
sw $t4,28($t4) #t4<- a[4k+7]
addi $t4,$t3,-6 # t4<- a[4k+7]-6
sub $t4,$s2,$t4 # t4<-*p - a[4k+7]-6
sw $t3,0($t4) #a[k]=*p-(a[4*k+7)-6)
please let me know if its correct

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!