3
我正在學習使用過程的MIPS代碼,但我無法理解堆棧(sp)和幀指針(fp)的用途。
例如我研究的代碼在下面有這個。它會輸入您輸入的數字之前的所有數字,例如3. 3,1,1,0並顯示它使用了多少堆棧大小。在這個例子中,它使用了16.我將-4
更改爲-8
,並且出現錯誤。 但是,我注意到一些其他代碼使用-8
。
問題是我錯過了什麼?
proc:
addi $sp,$sp,-4 #
sw $ra,0($sp) # push $ra
謝謝你的回答。在另一個例子中,我看到它使用'sw $ t0,($ sp)'而不是'sw $ ra,0($ sp)'。這是因爲它不需要返回值? – EnexoOnoma
@Kaoukkos:代碼太少,不知道它做了什麼。 – nhahtdh