我想知道在单个函数中,当我通过 beq 或 bne 去其他地方时,会创建一个新堆栈,或者因为我仍在同一个函数中,所以我的堆栈继续存在?让我通过一个例子来解释我的问题。在测试部分之前,我已经将 $t3 的内容放入堆栈中,并且在进行测试之后我想达到它。这可能吗?提前致谢
main:
addi $sp, $sp, -1
sb $t3,($sp) #t3 stores value 1 and I stored it into stack by this line
beq $t1 $t2 test #assume it holds
test:
lb $t7,($sp) # now I want to take 1 into $t7 here.Is it possible ??
addi $sp, $sp, 1
la $t7,($a0)
li $v0,4
syscall
li $v0,10
syscall