私は $ra について学習しようとしているので、必要な出力は "mainfunction1main" であり、main 呼び出し function1、function1 が main に戻り、main が終了することによって行われます。しかし、何らかの理由で、「mainfunction1mainfunction1 ...」を出力する無限ループが発生しています。何が間違っていますか?
.data
mainstring: .asciiz "main"
string1: .asciiz "function1"
string2: .asciiz "function2"
string3: .asciiz "function3"
.text
main: la $a0,mainstring
li $v0, 4
syscall
jal function1
la $a0, mainstring
syscall
function1: la $a0, string1
syscall
jr $ra