Verwenden von Frame-Pointer MIPS

muss ich meine konvertieren von code aus dem stack-pointer um nur mit der frame-pointer, wie kann ich das tun? ich bin ganz neu MIPS.

habe ich diese Rekursion C-code und dessen MIPS-code unten. ich bin mit stack-pointer , wie kann ich es ändern, frame-pointer?

hier ist mein C-Code

int fact(int n)
{
    if(n!=1)
     return n*factorial(n-1);
}

    int comb (int n, int k)
    {
    return fact (n) /fact (k) /fact (n - k);
    }

hier meine MIPS-code

comb:           
 sub $sp, $sp, 16
 sw $ra , 0($sp)
 sw $s0, 4($sp) 
 sw $a0, 8($sp) 
 sw $a1, 12($sp)
 jal fact       
 move $s0, $v0  
 lw $a0, 12($sp) 
 jal fact       
 div $s0, $s0, $v0 
 lw $a0, 8($sp) 
 lw $a1, 12($sp) 
 sub $a0, $a0, $a1 
 jal fact       
 div $s0, $s0, $v0 
 move $v0, $s0  
 lw  $ra, 0($sp) 
 lw  $s0, 4($sp) 
 addi $sp, $sp, 16 
 jr $ra         
InformationsquelleAutor Justin Homes | 2014-04-12
Schreibe einen Kommentar