a. lw $1, 40($6) add $2, $3, $1 add $1, $6, $4 sw $2, 20($4) and $1, $1, $4
b. add $1, $5, $3 sw $1, 0($2) lw $1, 4( $2) add $5, $5, $1 sw $1, 0($2)
Question 1: For sequences (a) and (b): if there is no forwarding or hazard detection, insert NOPs to ensure correct execution.
Question 2: Repeat the same exercise for (a) and (b), but now use NOPs only when a hazard cannot be avoided by changing or rearranging these instructions.
You can suppose register $7 can be used to hold temporary values in your modified code.
Ensure the modified code keeps the same semantics as the original code.