# we need to change to use the stack .text main: li $v0, 4 la $a0, main_msg1 syscall #printf("calling function f\n"); li $t0, 22 move $a0, $t0 move $t1, $ra jal f move $ra, $t1 move $t1, $v0 li $v0, 4 la $a0, main_msg2 syscall li $v0, 1 move $a0, $t1 syscall li $v0, 11 li $a0, '\n' syscall li $v0, 0 #return 0 jr $ra f: move $t0, $a0 li $v0, 4 la $a0, f_msg1 syscall li $v0, 1 move $a0, $t0 syscall li $v0, 11 la $a0, '\n' syscall mul $t2, $t0, 2 move $v0, $t2 jr $ra .data main_msg1: .asciiz "calling function f\n" main_msg2: .asciiz "back from function f\n" f_msg1: .asciiz "in function f\n"