Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text
- .globl main
- main:
- #leer numero
- li $v0,5
- syscall
- move $a0,$v0
- jal factorial
- move $a0,$v0
- li $v0,1
- syscall
- li $v0,10
- syscall
- factorial:
- beq $a0,$zero,trivial #comparo con cero
- li $t0,1 #comparo con 1 tambien
- beq $a0,$t0,trivial
- addi $sp,$sp,-4 #apilar el ra para poder desapilarlo luego ya que ra no esta en el mail y si no se perderia
- sw $ra,($sp)
- addi $sp,$sp,-4
- sw $a0,($sp)
- #metemos a0 en la pila
- addi $a0,$a0,-1 #manera de hacer factorial en ensamblador
- jal factorial
- #$v0 = (n-1)! ahora
- lw $a0,($sp)
- addi $sp,$sp,4
- mul $v0,$a0,$v0
- lw $ra, ($sp)#desapilamos ra
- addi $sp, $sp,4
- jr $ra
- trivial:
- li $v0,1#----IMPORTANTE----#
- jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement