main:
jal function1
#Exit Program
li $v0, 10
syscall
function1:
li $s0, 0
jal function2
jr $ra
function2:
jal external_function
beq $s0, 5, function2_end
#Run loop 5 times
addi $s0, $s0, 1
function2_end:
jr $ra
external_function:
#Does random operation
jr $ra
所以这只是我在使用 MIPS 时遇到的问题的一个例子。我陷入了无限循环,因为 function2_end 将继续跳转到 external_function。
有没有办法让function2_end跳回function1,所以它可以退出循环?