 .data
NPROC:
 .word 0
IPROC:
 .word 0
NSYSARGS:
 .word 32
ISYSARGS:
 .word 0
SYSARGS:
 .space 128
ten:
 .word 3
a:
 .word 1109917696
 .space 256
DATASIZE:
 .text
exit:
 sys 0
 .ent fact
fact:
 li -40
 sr $2
 lr $0
 add $2
 sr $0
 li 32
 add $0
 sr $2
 lr $1
 sw $2
 li 40
 add $0
 sr $2
 lr $5
 sw $2
 li 40
 add $0
 lw
 sr $3
 li 2
 sr $2
 lr $3
 slt $2
 sr $3
 jf DOL_L2
 li 1
 sr $3
 li 24
 add $0
 sr $2
 lr $3
 sw $2
 li DOL_L4
 sr $2
 j
DOL_L2:
 li 40
 add $0
 lw
 sr $3
 li -1
 sr $2
 lr $3
 add $2
 sr $3
 sr $5
 li fact
 sr $6
 .ret L_0
 li L_0
 sr $1
 lr $6
 j
L_0:
 li 16
 add $0
 lw
 sr $8
 lr $3
 sr $4
 li 40
 add $0
 lw
 sr $3
 lr $4
 mul $3
 sr $5
 li 24
 add $0
 sr $2
 lr $5
 sw $2
DOL_L4:
 li 24
 add $0
 lw
 sr $3
 li 32
 add $0
 lw
 sr $1
 li 40
 sr $2
 lr $0
 add $2
 sr $0
 lr $1
 j
 .ent main
main:
 li -40
 sr $2
 lr $0
 add $2
 sr $0
 li 32
 add $0
 sr $2
 lr $1
 sw $2
 li 24
 add $0
 sr $2
 li 0
 sw $2
 li DOL_L7
 sr $2
 j
DOL_L8:
 li IPROC
 lw
 sr $4
 li 24
 add $0
 sr $2
 lw
 sr $3
 lr $4
 xor $3
 sr $4
 li ten
 lw
 sr $3
 jt MYLOCAL_0
MYLOCAL_0:
 lr $4
 rem $3
 sr $3
 sr $5
 li fact
 sr $6
 .ret L_1
 li L_1
 sr $1
 lr $6
 j
L_1:
 li 16
 add $0
 lw
 sr $8
 lr $7
 lr $7
 i2f
 sr $7
 li a
 sr $3
 lr $7
 sw $3
 li 24
 add $0
 lw
 sr $3
 li 1
 sr $2
 lr $3
 add $2
 sr $3
 li 24
 add $0
 sr $2
 lr $3
 sw $2
DOL_L7:
 li 24
 add $0
 lw
 sr $3
 li 2
 sr $2
 lr $3
 slt $2
 sr $3
 jt DOL_L8
 li 32
 add $0
 lw
 sr $1
 li 40
 sr $2
 lr $0
 add $2
 sr $0
 lr $1
 j
