2016-11-14 1 views
0

나는 MIPS의 재귀 미로 해결 프로그램을 만들고있어 그리고 우리 교수가 우리에게 준 알고리즘을 구현하려고합니다. 그러나, 나는 어떻게 구현할 것인가에 막혔다. MIPS에서 프로그램을 생성 할 때, 나는 어떻게 구현할 것인가에 막혔다.MIPS에서 java를

boolean p = solveMaze(r - 1, c, r, c); 

. 기본적으로, 어떻게 내가 MIPS 로이 같은 자바 부울 표현을 설정합니다.

+0

당신이 지금까지 생각 해낸 것을 보여줄 수 있습니까? –

+0

이것은 훨씬 더 큰 프로그램의 일부분이지만, 본질적으로 내가하는 일은 인수를로드 한 다음 solveMaze를 호출하는 것입니다. 그런 다음 solveMaze가 수행하는 첫 번째 작업은 미로가 해결되었는지 확인한 다음 true이면 $ v0을 1로 설정하고 jr $ ra가 재귀 호출을 종료합니다. 그러나 나는 그것에 대해 올바른 생각을하고 있는지 확실하지 않습니다. – bkrause404

답변

0

조립시 부울은 일반적으로 정수로 나타냅니다. 또한 함수는 레지스터를 사용하여 값을 반환합니다. 본질적으로 프로그램은 이와 비슷하게 보입니다.

... 
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