Guest User

Untitled

a guest
Jun 20th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. fac:
  2.     # save registers
  3.     addi $sp, $sp, -8
  4.     sw $s0, 0($sp)
  5.     sw $ra, 4($sp)
  6.     # save n
  7.     add $s0, $0, $a0
  8.     # if n == 1, return 1
  9.     bne $a0, 1, notOne
  10.         addi $v0, $v0, 1
  11.         j end
  12.     # not 1, return n*fac(n-1)
  13.     notOne:
  14.         # get fac(n-1)
  15.         addi $a0, $a0, -1
  16.         jal fac
  17.         # multiply
  18.         mult $s0, $v0
  19.         # get result (ignore high bits)
  20.         mflo $v0
  21.     end:
  22.         # load registers again
  23.         lw $s0, 0($sp)
  24.         lw $ra, 4($sp)
  25.         addi $sp, $sp, 8
  26.         jr $ra
Add Comment
Please, Sign In to add comment