지금 PCSpim 을 이용하여 n값을 콘솔창에 입력시키면
n! = (결과)
sum = (결과)

이렇게 결과가 나와야 하는 어셈블리 코드를 짜고있는데..
하나씩은 하는 방법을 알겠는데 두 개가 동시에 실행되는 방법은 어떻게 해야하는지 모르겠어요 ㅠ
도움 부탁드립니다,

아래는 제가 짠 코드입니다..

.data
str1: .asciiz "input n (수를 넣고 Enter치시오) = "
str2: .asciiz " ! = "
str3: .asciiz " sum = "
newline: .asciiz "\n"


       .text
main: li   $v0, 4           # load immed.  (pseudo)
       la   $a0, str1        # load address (pseudo)
       syscall
       li   $v0, 5
        syscall
        move $a0, $v0         # move (pseudo)

       addi $sp, $sp, -4
       sw   $ra, 0($sp)
       jal  fact
        add  $s0, $zero, $v0
        j    Exit

fact: slti $t0, $a0, 1
       beq  $t0, $zero, L1
       addi $v0, $zero, 1
       jr   $ra

sum: slti $t0, $a0, 2
       beq  $t0, $zero, L2
        addi $v0, $zero, 1
        jr   $ra

L1: addi $sp, $sp, -8
     sw   $ra, 4($sp)
     sw   $a0, 0($sp)
     addi $a0, $a0, -1
      jal  fact
     lw   $a0, 0($sp)
     lw   $ra, 4($sp)
    addi $sp, $sp, 8

    mul  $v0, $a0, $v0     # multiply (pseudo)
    jr   $ra


L2: addi $sp, $sp, -8
    sw   $ra, 4($sp)
    sw   $a0, 0($sp)
    addi $a0, $a0, -1
    jal  sum
     lw   $a0, 0($sp)
     lw   $ra, 4($sp)
    addi $sp, $sp, 8

     add  $v0, $a0, $v0     # addition (pseudo)
     jr   $ra

Exit: addi $v0, $zero, 1
       add  $a0, $a0, $zero
       syscall

        addi $v0, $zero, 4
        la   $a0, str2    
        syscall

        addi $v0, $zero, 1
        add  $a0, $s0, $zero
        syscall

        addi $v0, $zero, 4
        la   $a0, newline    
       syscall

      lw   $ra, 0($sp)
     addi $sp, $sp, 4
     jr   $ra