You are on page 1of 1

Dado el siguiente programa y suponiendo que acaba de concluir su ejecución completa la

tabla indicando las posiciones de las celdas de la pila utilizadas y su contenido.


Memoria de pila (hex)
0x7fffeffc (fondo de pila)
.text 0X00
.globl __start 0X00 0x7fffeffb
__start: 0X00 0x7fffeffa
[0x00400000] li $4,2 0X00 0x7fffeff9
[0x00400004] jal fact
0X02 0x7fffeff8
[0x00400008] j fin
0X00 0x7fffeff7
[0x0040000c] fact: addi $29, $29, -8 0X40 0x7fffeff6
[0x00400010] sw $4, 4($29) 0X00 0x7fffeff5
[0x00400014] sw $31, 0($29) 0X08 0x7fffeff4
[0x00400018] lw $2, 4($29) 0X00 0x7fffeff3
[0x0040001c] bgtz $2, seguir 0X00 0x7fffeff2
[0x00400020] addi $2, $0, 1 0X00 0x7fffeff1
[0x00400024] j volver
0X01 0x7fffeff0
[0x00400028] seguir: lw $3, 4($29)
[0x0040002c] addi $4, $3, -1 0X00 0x7fffefef
[0x00400030] jal fact 0X40 0x7fffefee
[0x00400034] lw $3, 4($29) 0X00 0x7fffefed
[0x00400038] mult $2, $3 0X34 0x7fffefec
[0x0040003c] mflo $2 0X00 0x7fffefeb
[0x00400040] volver: lw $31, 0($29) 0X00 0x7fffefea
[0x00400044] addi $29, $29, 8
0X00 0x7fffefe9
[0x00400048] j $31
[0x0040004c] fin: li $v0,10 0X00 0x7fffefe8
[0x00400050] syscall 0X00 0x7fffefe7
0X40 0x7fffefe6
0X00 0x7fffefe5
0X34 0x7fffefe4

You might also like