0
我正在製作MIPS中的遞歸迷宮求解器程序,並且正在嘗試實施一種我們的教授給我們的算法。然而,我堅持我將如何實施來自java的MIPS翻譯
boolean p = solveMaze(r - 1, c, r, c);
當我創建在MIPS程序。基本上,我將如何將這種Java布爾表達式轉換爲MIPS。
我正在製作MIPS中的遞歸迷宮求解器程序,並且正在嘗試實施一種我們的教授給我們的算法。然而,我堅持我將如何實施來自java的MIPS翻譯
boolean p = solveMaze(r - 1, c, r, c);
當我創建在MIPS程序。基本上,我將如何將這種Java布爾表達式轉換爲MIPS。
在彙編中,布爾值通常用整數表示。還使用寄存器來返回值。本質上這個程序看起來類似於這個
...
main:
# store parameters in registers $a0 to $a3
jal solveMaze
mov $t0, $v0
li $v0, 1
syscall # prints 1 or 0 depending on what was returned
solveMaze: # $a0 = r - 1, $a1 = c, $a2 = r, $a3 = c
... # Do what needs to be done here
li $v0, 1 # $v0 contains 1 which means true, change to 0 for false
jr $ra # return to the caller of the function
你能告訴我們到目前爲止你想出了什麼嗎? –
好吧,這只是一個更大的程序的一部分,但實際上我所做的是加載參數,然後調用solveMaze。然後,solveMaze所做的第一件事就是檢查迷宮是否已解決,如果是,則將$ v0設置爲1,爲true,然後執行jr $ ra以退出遞歸調用。但我不確定我是否以正確的方式思考它。 – bkrause404