216k views
5 votes
Suppose you want to make a nested function call (i.e. a call to a function from inside of another function) using a jal rather than a call for performance reasons. How would the push and pop pseudo-ops be proprely ordered along with the jal so that the previous return address isn't lost?

a) pop $ra
jal nested_function_label
nop
push $ra

b) push $ra
jal nested_function_label
nop
pop $ra
c) push $ra
pop $ra
jal nested_function_label
nop
d) jal nested_function_label
nop
pop $ra
push $ra

User Mitendra
by
3.1k points

1 Answer

0 votes

Answer:

As we need to use a nested loop in our function,hence push $ra

pop $ra

jal nested_function_label

nop is the correct option.

User BNd
by
3.8k points