.data functable_QS: QS_Start QS_Sort QS_Print QS_Init .text jal Main li $v0 10 syscall Main: sw $fp -8($sp) move $fp $sp subu $sp $sp 64 sw $ra -4($fp) sw $s0 -12($fp) sw $s1 -16($fp) sw $s2 -20($fp) sw $s3 -24($fp) sw $s4 -28($fp) sw $s5 -32($fp) sw $s6 -36($fp) sw $s7 -40($fp) li $a0 24 jal _heapAlloc move $s7 $v0 la $t9 functable_QS sw $t9 0($s7) move $s6 $s7 move $s7 $s6 lw $s6 0($s7) lw $s5 0($s6) li $s6 10 move $s4 $s6 sw $t3 -44($fp) sw $t4 -48($fp) sw $t5 -52($fp) sw $t6 -56($fp) sw $t7 -60($fp) sw $t8 -64($fp) move $a0 $s7 move $a1 $s4 jalr $s5 lw $t3 -44($fp) lw $t4 -48($fp) lw $t5 -52($fp) lw $t6 -56($fp) lw $t7 -60($fp) lw $t8 -64($fp) move $s6 $v0 move $s4 $s6 move $s6 $s4 move $a0 $s6 jal _print lw $s0 -12($fp) lw $s1 -16($fp) lw $s2 -20($fp) lw $s3 -24($fp) lw $s4 -28($fp) lw $s5 -32($fp) lw $s6 -36($fp) lw $s7 -40($fp) lw $ra -4($fp) lw $fp -8($fp) addu $sp $sp 64 jr $ra QS_Start: sw $fp -8($sp) move $fp $sp subu $sp $sp 64 sw $ra -4($fp) sw $s0 -12($fp) sw $s1 -16($fp) sw $s2 -20($fp) sw $s3 -24($fp) sw $s4 -28($fp) sw $s5 -32($fp) sw $s6 -36($fp) sw $s7 -40($fp) move $s6 $a0 move $s7 $a1 move $s5 $s6 lw $s5 0($s6) move $s4 $s7 move $s7 $s4 lw $s5 12($s5) sw $t3 -44($fp) sw $t4 -48($fp) sw $t5 -52($fp) sw $t6 -56($fp) sw $t7 -60($fp) sw $t8 -64($fp) move $a0 $s6 move $a1 $s7 jalr $s5 lw $t3 -44($fp) lw $t4 -48($fp) lw $t5 -52($fp) lw $t6 -56($fp) lw $t7 -60($fp) lw $t8 -64($fp) move $s4 $v0 move $s7 $s4 move $s4 $s7 move $s7 $s6 lw $s7 0($s6) lw $s7 8($s7) sw $t3 -44($fp) sw $t4 -48($fp) sw $t5 -52($fp) sw $t6 -56($fp) sw $t7 -60($fp) sw $t8 -64($fp) move $a0 $s6 jalr $s7 lw $t3 -44($fp) lw $t4 -48($fp) lw $t5 -52($fp) lw $t6 -56($fp) lw $t7 -60($fp) lw $t8 -64($fp) move $s5 $v0 move $s7 $s5 move $s4 $s7 li $s7 9999 move $s5 $s7 move $s7 $s5 move $a0 $s7 jal _print lw $s7 20($s6) li $s5 1 move $a0 $s7 move $t9 $s5 sub $s3 $a0 $t9 move $s5 $s3 move $s4 $s5 move $s5 $s6 lw $s5 0($s6) li $s3 0 move $s7 $s3 move $s3 $s4 move $s2 $s3 lw $s5 4($s5) sw $t3 -44($fp) sw $t4 -48($fp) sw $t5 -52($fp) sw $t6 -56($fp) sw $t7 -60($fp) sw $t8 -64($fp) move $a0 $s6 move $a1 $s7 move $a2 $s2 jalr $s5 lw $t3 -44($fp) lw $t4 -48($fp) lw $t5 -52($fp) lw $t6 -56($fp) lw $t7 -60($fp) lw $t8 -64($fp) move $s3 $v0 move $s2 $s3 move $s4 $s2 move $s2 $s6 lw $s2 0($s6) lw $s2 8($s2) sw $t3 -44($fp) sw $t4 -48($fp) sw $t5 -52($fp) sw $t6 -56($fp) sw $t7 -60($fp) sw $t8 -64($fp) move $a0 $s6 jalr $s2 lw $t3 -44($fp) lw $t4 -48($fp) lw $t5 -52($fp) lw $t6 -56($fp) lw $t7 -60($fp) lw $t8 -64($fp) move $s3 $v0 move $s2 $s3 move $s4 $s2 li $s2 0 move $s4 $s2 move $s2 $s4 move $v0 $s2 lw $s0 -12($fp) lw $s1 -16($fp) lw $s2 -20($fp) lw $s3 -24($fp) lw $s4 -28($fp) lw $s5 -32($fp) lw $s6 -36($fp) lw $s7 -40($fp) lw $ra -4($fp) lw $fp -8($fp) addu $sp $sp 64 jr $ra QS_Sort: sw $fp -8($sp) move $fp $sp subu $sp $sp 384 sw $ra -4($fp) sw $s0 -12($fp) sw $s1 -16($fp) sw $s2 -20($fp) sw $s3 -24($fp) sw $s4 -28($fp) sw $s5 -32($fp) sw $s6 -36($fp) sw $s7 -40($fp) sw $a0 -68($fp) sw $a1 -80($fp) sw $a2 -72($fp) li $s4 0 move $s3 $s4 lw $t0 -84($fp) move $t0 $s3 sw $t0 -84($fp) lw $t0 -80($fp) move $s3 $t0 sw $t0 -80($fp) lw $t0 -72($fp) move $s2 $t0 sw $t0 -72($fp) move $a0 $s3 move $t9 $s2 slt $s1 $a0 $t9 move $s2 $s1 move $s1 $s2 beqz $s1 if43_else if43_body: lw $t0 -68($fp) lw $s1 16($t0) sw $t0 -68($fp) move $s2 $s1 lw $t0 -72($fp) move $s1 $t0 sw $t0 -72($fp) move $a0 $s1 li $t9 4 mul $s3 $a0 $t9 move $a0 $s3 li $t9 4 add $s3 $a0 $t9 move $a0 $s2 move $t9 $s3 add $s3 $a0 $t9 lw $s2 0($s3) move $s3 $s2 lw $t0 -292($fp) move $t0 $s3 sw $t0 -292($fp) lw $t0 -80($fp) move $s3 $t0 sw $t0 -80($fp) li $s1 1 move $a0 $s3 move $t9 $s1 sub $s0 $a0 $t9 move $s1 $s0 lw $t0 -76($fp) move $t0 $s1 sw $t0 -76($fp) lw $t0 -72($fp) move $s1 $t0 sw $t0 -72($fp) move $s3 $s1 lw $t0 -88($fp) move $t0 $s3 sw $t0 -88($fp) li $s3 1 move $t7 $s3 lw $t0 -288($fp) move $t0 $t7 sw $t0 -288($fp) while62_test: lw $t0 -284($fp) lw $t1 -288($fp) move $t0 $t1 sw $t1 -288($fp) sw $t0 -284($fp) lw $t0 -116($fp) lw $t1 -284($fp) move $t0 $t1 sw $t1 -284($fp) sw $t0 -116($fp) lw $t0 -244($fp) lw $t1 -116($fp) move $t0 $t1 sw $t1 -116($fp) sw $t0 -244($fp) lw $t0 -244($fp) beqz $t0 while62_end sw $t0 -244($fp) while62_body: lw $t0 -100($fp) li $t0 1 sw $t0 -100($fp) lw $t0 -112($fp) lw $t1 -100($fp) move $t0 $t1 sw $t1 -100($fp) sw $t0 -112($fp) lw $t0 -104($fp) lw $t1 -112($fp) move $t0 $t1 sw $t1 -112($fp) sw $t0 -104($fp) while68_test: lw $t0 -108($fp) lw $t1 -104($fp) move $t0 $t1 sw $t1 -104($fp) sw $t0 -108($fp) lw $t0 -96($fp) lw $t1 -108($fp) move $t0 $t1 sw $t1 -108($fp) sw $t0 -96($fp) lw $t0 -92($fp) lw $t1 -96($fp) move $t0 $t1 sw $t1 -96($fp) sw $t0 -92($fp) lw $t0 -92($fp) beqz $t0 while68_end sw $t0 -92($fp) while68_body: lw $t0 -76($fp) move $s3 $t0 sw $t0 -76($fp) li $t7 1 move $a0 $s3 move $t9 $t7 add $s2 $a0 $t9 move $s4 $s2 lw $t0 -76($fp) move $t0 $s4 sw $t0 -76($fp) lw $t0 -68($fp) lw $t6 16($t0) sw $t0 -68($fp) move $t3 $t6 lw $t0 -76($fp) move $s0 $t0 sw $t0 -76($fp) move $a0 $s0 li $t9 4 mul $t5 $a0 $t9 move $a0 $t5 li $t9 4 add $t5 $a0 $t9 move $a0 $t3 move $t9 $t5 add $t5 $a0 $t9 lw $t4 0($t5) move $s6 $t4 lw $t0 -296($fp) move $t0 $s6 sw $t0 -296($fp) lw $t0 -304($fp) lw $t1 -296($fp) move $t0 $t1 sw $t1 -296($fp) sw $t0 -304($fp) lw $t0 -312($fp) lw $t1 -292($fp) move $t0 $t1 sw $t1 -292($fp) sw $t0 -312($fp) lw $t0 -304($fp) lw $t1 -312($fp) move $a0 $t0 move $t9 $t1 slt $s7 $a0 $t9 sw $t1 -312($fp) sw $t0 -304($fp) lw $t0 -308($fp) move $t0 $s7 sw $t0 -308($fp) lw $t0 -332($fp) lw $t1 -308($fp) move $t0 $t1 sw $t1 -308($fp) sw $t0 -332($fp) lw $t0 -328($fp) lw $t1 -332($fp) move $t0 $t1 sw $t1 -332($fp) sw $t0 -328($fp) lw $t0 -328($fp) move $a0 $t0 li $t9 0 and $s5 $a0 $t9 sw $t0 -328($fp) lw $t0 -340($fp) move $t0 $s5 sw $t0 -340($fp) lw $t0 -336($fp) lw $t1 -340($fp) move $t0 $t1 sw $t1 -340($fp) sw $t0 -336($fp) lw $t0 -320($fp) lw $t1 -336($fp) move $t0 $t1 sw $t1 -336($fp) sw $t0 -320($fp) lw $t0 -320($fp) beqz $t0 if82_else sw $t0 -320($fp) if82_body: lw $t0 -316($fp) li $t0 0 sw $t0 -316($fp) lw $t0 -324($fp) lw $t1 -316($fp) move $t0 $t1 sw $t1 -316($fp) sw $t0 -324($fp) lw $t0 -104($fp) lw $t1 -324($fp) move $t0 $t1 sw $t1 -324($fp) sw $t0 -104($fp) j if82_end if82_else: lw $t0 -300($fp) li $t0 1 sw $t0 -300($fp) lw $t0 -300($fp) move $s1 $t0 sw $t0 -300($fp) lw $t0 -104($fp) move $t0 $s1 sw $t0 -104($fp) if82_end: j while68_test while68_end: lw $t0 -136($fp) li $t0 1 sw $t0 -136($fp) lw $t0 -128($fp) lw $t1 -136($fp) move $t0 $t1 sw $t1 -136($fp) sw $t0 -128($fp) lw $t0 -104($fp) lw $t1 -128($fp) move $t0 $t1 sw $t1 -128($fp) sw $t0 -104($fp) while98_test: lw $t0 -148($fp) lw $t1 -104($fp) move $t0 $t1 sw $t1 -104($fp) sw $t0 -148($fp) lw $t0 -140($fp) lw $t1 -148($fp) move $t0 $t1 sw $t1 -148($fp) sw $t0 -140($fp) lw $t0 -160($fp) lw $t1 -140($fp) move $t0 $t1 sw $t1 -140($fp) sw $t0 -160($fp) lw $t0 -160($fp) beqz $t0 while98_end sw $t0 -160($fp) while98_body: lw $t0 -376($fp) lw $t1 -88($fp) move $t0 $t1 sw $t1 -88($fp) sw $t0 -376($fp) lw $t0 -372($fp) li $t0 1 sw $t0 -372($fp) lw $t0 -380($fp) lw $t1 -376($fp) lw $t2 -372($fp) move $a0 $t1 move $t9 $t2 sub $t0 $a0 $t9 sw $t2 -372($fp) sw $t1 -376($fp) sw $t0 -380($fp) lw $t0 -348($fp) lw $t1 -380($fp) move $t0 $t1 sw $t1 -380($fp) sw $t0 -348($fp) lw $t0 -88($fp) lw $t1 -348($fp) move $t0 $t1 sw $t1 -348($fp) sw $t0 -88($fp) lw $t0 -344($fp) lw $t1 -68($fp) lw $t0 16($t1) sw $t1 -68($fp) sw $t0 -344($fp) lw $t0 -344($fp) move $s0 $t0 sw $t0 -344($fp) lw $t0 -360($fp) lw $t1 -88($fp) move $t0 $t1 sw $t1 -88($fp) sw $t0 -360($fp) lw $t0 -360($fp) move $a0 $t0 li $t9 4 mul $s4 $a0 $t9 sw $t0 -360($fp) move $a0 $s4 li $t9 4 add $s4 $a0 $t9 move $a0 $s0 move $t9 $s4 add $s4 $a0 $t9 lw $s6 0($s4) lw $t0 -356($fp) move $t0 $s6 sw $t0 -356($fp) lw $t0 -296($fp) lw $t1 -356($fp) move $t0 $t1 sw $t1 -356($fp) sw $t0 -296($fp) lw $t0 -352($fp) lw $t1 -292($fp) move $t0 $t1 sw $t1 -292($fp) sw $t0 -352($fp) lw $t0 -296($fp) move $t5 $t0 sw $t0 -296($fp) lw $t0 -364($fp) lw $t1 -352($fp) move $a0 $t1 move $t9 $t5 slt $t0 $a0 $t9 sw $t1 -352($fp) sw $t0 -364($fp) lw $t0 -364($fp) move $t6 $t0 sw $t0 -364($fp) move $s2 $t6 move $s1 $s2 lw $t0 -368($fp) move $a0 $s1 li $t9 0 and $t0 $a0 $t9 sw $t0 -368($fp) lw $t0 -368($fp) move $t7 $t0 sw $t0 -368($fp) move $s3 $t7 move $t3 $s3 beqz $t3 if112_else if112_body: li $t4 0 move $s7 $t4 lw $t0 -104($fp) move $t0 $s7 sw $t0 -104($fp) j if112_end if112_else: li $s5 1 lw $t0 -384($fp) move $t0 $s5 sw $t0 -384($fp) lw $t0 -104($fp) lw $t1 -384($fp) move $t0 $t1 sw $t1 -384($fp) sw $t0 -104($fp) if112_end: j while98_test while98_end: lw $t0 -176($fp) lw $t1 -68($fp) lw $t0 16($t1) sw $t1 -68($fp) sw $t0 -176($fp) lw $t0 -208($fp) lw $t1 -176($fp) move $t0 $t1 sw $t1 -176($fp) sw $t0 -208($fp) lw $t0 -192($fp) lw $t1 -76($fp) move $t0 $t1 sw $t1 -76($fp) sw $t0 -192($fp) lw $t0 -168($fp) lw $t1 -192($fp) move $a0 $t1 li $t9 4 mul $t0 $a0 $t9 sw $t1 -192($fp) sw $t0 -168($fp) lw $t0 -168($fp) lw $t1 -168($fp) move $a0 $t1 li $t9 4 add $t0 $a0 $t9 sw $t1 -168($fp) sw $t0 -168($fp) lw $t0 -168($fp) lw $t1 -208($fp) lw $t2 -168($fp) move $a0 $t1 move $t9 $t2 add $t0 $a0 $t9 sw $t2 -168($fp) sw $t1 -208($fp) sw $t0 -168($fp) lw $t0 -216($fp) lw $t1 -168($fp) lw $t0 0($t1) sw $t1 -168($fp) sw $t0 -216($fp) lw $t0 -184($fp) lw $t1 -216($fp) move $t0 $t1 sw $t1 -216($fp) sw $t0 -184($fp) lw $t0 -84($fp) lw $t1 -184($fp) move $t0 $t1 sw $t1 -184($fp) sw $t0 -84($fp) lw $t0 -224($fp) lw $t1 -68($fp) lw $t0 16($t1) sw $t1 -68($fp) sw $t0 -224($fp) lw $t0 -236($fp) lw $t1 -76($fp) move $t0 $t1 sw $t1 -76($fp) sw $t0 -236($fp) lw $t0 -248($fp) lw $t1 -236($fp) move $t0 $t1 sw $t1 -236($fp) sw $t0 -248($fp) lw $t0 -220($fp) lw $t1 -248($fp) move $a0 $t1 li $t9 4 mul $t0 $a0 $t9 sw $t1 -248($fp) sw $t0 -220($fp) lw $t0 -220($fp) lw $t1 -220($fp) move $a0 $t1 li $t9 4 add $t0 $a0 $t9 sw $t1 -220($fp) sw $t0 -220($fp) lw $t0 -220($fp) lw $t1 -224($fp) lw $t2 -220($fp) move $a0 $t1 move $t9 $t2 add $t0 $a0 $t9 sw $t2 -220($fp) sw $t1 -224($fp) sw $t0 -220($fp) lw $t0 -272($fp) lw $t1 -68($fp) lw $t0 16($t1) sw $t1 -68($fp) sw $t0 -272($fp) lw $t0 -276($fp) lw $t1 -272($fp) move $t0 $t1 sw $t1 -272($fp) sw $t0 -276($fp) lw $t0 -264($fp) lw $t1 -88($fp) move $t0 $t1 sw $t1 -88($fp) sw $t0 -264($fp) lw $t0 -268($fp) lw $t1 -264($fp) move $a0 $t1 li $t9 4 mul $t0 $a0 $t9 sw $t1 -264($fp) sw $t0 -268($fp) lw $t0 -268($fp) lw $t1 -268($fp) move $a0 $t1 li $t9 4 add $t0 $a0 $t9 sw $t1 -268($fp) sw $t0 -268($fp) lw $t0 -268($fp) lw $t1 -276($fp) lw $t2 -268($fp) move $a0 $t1 move $t9 $t2 add $t0 $a0 $t9 sw $t2 -268($fp) sw $t1 -276($fp) sw $t0 -268($fp) lw $t0 -280($fp) lw $t1 -268($fp) lw $t0 0($t1) sw $t1 -268($fp) sw $t0 -280($fp) lw $t0 -260($fp) lw $t1 -280($fp) move $t0 $t1 sw $t1 -280($fp) sw $t0 -260($fp) lw $t0 -220($fp) lw $t1 -260($fp) sw $t1 0($t0) sw $t1 -260($fp) sw $t0 -220($fp) lw $t0 -256($fp) lw $t1 -68($fp) lw $t0 16($t1) sw $t1 -68($fp) sw $t0 -256($fp) lw $t0 -240($fp) lw $t1 -88($fp) move $t0 $t1 sw $t1 -88($fp) sw $t0 -240($fp) lw $t0 -228($fp) lw $t1 -240($fp) move $t0 $t1 sw $t1 -240($fp) sw $t0 -228($fp) lw $t0 -252($fp) lw $t1 -228($fp) move $a0 $t1 li $t9 4 mul $t0 $a0 $t9 sw $t1 -228($fp) sw $t0 -252($fp) lw $t0 -252($fp) lw $t1 -252($fp) move $a0 $t1 li $t9 4 add $t0 $a0 $t9 sw $t1 -252($fp) sw $t0 -252($fp) lw $t0 -252($fp) lw $t1 -256($fp) lw $t2 -252($fp) move $a0 $t1 move $t9 $t2 add $t0 $a0 $t9 sw $t2 -252($fp) sw $t1 -256($fp) sw $t0 -252($fp) lw $t0 -232($fp) lw $t1 -84($fp) move $t0 $t1 sw $t1 -84($fp) sw $t0 -232($fp) lw $t0 -164($fp) lw $t1 -232($fp) move $t0 $t1 sw $t1 -232($fp) sw $t0 -164($fp) lw $t0 -252($fp) lw $t1 -164($fp) sw $t1 0($t0) sw $t1 -164($fp) sw $t0 -252($fp) lw $t0 -180($fp) lw $t1 -88($fp) move $t0 $t1 sw $t1 -88($fp) sw $t0 -180($fp) lw $t0 -196($fp) lw $t1 -76($fp) move $t0 $t1 sw $t1 -76($fp) sw $t0 -196($fp) lw $t0 -200($fp) li $t0 1 sw $t0 -200($fp) lw $t0 -188($fp) lw $t1 -196($fp) lw $t2 -200($fp) move $a0 $t1 move $t9 $t2 add $t0 $a0 $t9 sw $t2 -200($fp) sw $t1 -196($fp) sw $t0 -188($fp) lw $t0 -204($fp) lw $t1 -188($fp) move $t0 $t1 sw $t1 -188($fp) sw $t0 -204($fp) lw $t0 -212($fp) lw $t1 -204($fp) move $t0 $t1 sw $t1 -204($fp) sw $t0 -212($fp) lw $t0 -172($fp) lw $t1 -180($fp) lw $t2 -212($fp) move $a0 $t1 move $t9 $t2 slt $t0 $a0 $t9 sw $t2 -212($fp) sw $t1 -180($fp) sw $t0 -172($fp) lw $t0 -144($fp) lw $t1 -172($fp) move $t0 $t1 sw $t1 -172($fp) sw $t0 -144($fp) lw $t0 -152($fp) lw $t1 -144($fp) move $t0 $t1 sw $t1 -144($fp) sw $t0 -152($fp) lw $t0 -152($fp) beqz $t0 if148_else sw $t0 -152($fp) if148_body: lw $t0 -156($fp) li $t0 0 sw $t0 -156($fp) lw $t0 -120($fp) lw $t1 -156($fp) move $t0 $t1 sw $t1 -156($fp) sw $t0 -120($fp) lw $t0 -288($fp) lw $t1 -120($fp) move $t0 $t1 sw $t1 -120($fp) sw $t0 -288($fp) j if148_end if148_else: lw $t0 -124($fp) li $t0 1 sw $t0 -124($fp) lw $t0 -132($fp) lw $t1 -124($fp) move $t0 $t1 sw $t1 -124($fp) sw $t0 -132($fp) lw $t0 -288($fp) lw $t1 -132($fp) move $t0 $t1 sw $t1 -132($fp) sw $t0 -288($fp) if148_end: j while62_test while62_end: lw $t0 -68($fp) lw $s4 16($t0) sw $t0 -68($fp) lw $t0 -88($fp) move $s6 $t0 sw $t0 -88($fp) move $s0 $s6 move $a0 $s0 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s4 move $t9 $s6 add $s6 $a0 $t9 lw $t0 -68($fp) lw $s4 16($t0) sw $t0 -68($fp) move $s0 $s4 lw $t0 -76($fp) move $s4 $t0 sw $t0 -76($fp) move $a0 $s4 li $t9 4 mul $s7 $a0 $t9 move $a0 $s7 li $t9 4 add $s7 $a0 $t9 move $a0 $s0 move $t9 $s7 add $s7 $a0 $t9 lw $s0 0($s7) move $s7 $s0 sw $s7 0($s6) lw $t0 -68($fp) lw $s7 16($t0) sw $t0 -68($fp) lw $t0 -76($fp) move $s6 $t0 sw $t0 -76($fp) move $s0 $s6 move $a0 $s0 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s7 move $t9 $s6 add $s6 $a0 $t9 lw $t0 -68($fp) lw $s7 16($t0) sw $t0 -68($fp) move $s0 $s7 lw $t0 -72($fp) move $s7 $t0 sw $t0 -72($fp) move $a0 $s7 li $t9 4 mul $s4 $a0 $t9 move $a0 $s4 li $t9 4 add $s4 $a0 $t9 move $a0 $s0 move $t9 $s4 add $s4 $a0 $t9 lw $s0 0($s4) move $s4 $s0 sw $s4 0($s6) lw $t0 -68($fp) lw $s4 16($t0) sw $t0 -68($fp) lw $t0 -72($fp) move $s6 $t0 sw $t0 -72($fp) move $s0 $s6 move $a0 $s0 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s4 move $t9 $s6 add $s6 $a0 $t9 lw $t0 -84($fp) move $s4 $t0 sw $t0 -84($fp) move $s0 $s4 sw $s0 0($s6) lw $t0 -68($fp) move $s0 $t0 sw $t0 -68($fp) lw $t0 -68($fp) lw $s0 0($t0) sw $t0 -68($fp) lw $t0 -80($fp) move $s6 $t0 sw $t0 -80($fp) move $s4 $s6 lw $t0 -76($fp) move $s6 $t0 sw $t0 -76($fp) li $s7 1 move $a0 $s6 move $t9 $s7 sub $s5 $a0 $t9 move $s7 $s5 lw $s0 4($s0) sw $t3 -44($fp) sw $t4 -48($fp) sw $t5 -52($fp) sw $t6 -56($fp) sw $t7 -60($fp) sw $t8 -64($fp) lw $t0 -68($fp) move $a0 $t0 sw $t0 -68($fp) move $a1 $s4 move $a2 $s7 jalr $s0 lw $t3 -44($fp) lw $t4 -48($fp) lw $t5 -52($fp) lw $t6 -56($fp) lw $t7 -60($fp) lw $t8 -64($fp) move $s5 $v0 move $s7 $s5 move $s5 $s7 lw $t0 -68($fp) move $s7 $t0 sw $t0 -68($fp) lw $t0 -68($fp) lw $s7 0($t0) sw $t0 -68($fp) lw $t0 -76($fp) move $s4 $t0 sw $t0 -76($fp) li $s0 1 move $a0 $s4 move $t9 $s0 add $s6 $a0 $t9 move $s0 $s6 lw $t0 -72($fp) move $s6 $t0 sw $t0 -72($fp) move $s4 $s6 lw $s7 4($s7) sw $t3 -44($fp) sw $t4 -48($fp) sw $t5 -52($fp) sw $t6 -56($fp) sw $t7 -60($fp) sw $t8 -64($fp) lw $t0 -68($fp) move $a0 $t0 sw $t0 -68($fp) move $a1 $s0 move $a2 $s4 jalr $s7 lw $t3 -44($fp) lw $t4 -48($fp) lw $t5 -52($fp) lw $t6 -56($fp) lw $t7 -60($fp) lw $t8 -64($fp) move $s6 $v0 move $s4 $s6 move $s5 $s4 j if43_end if43_else: li $s4 0 move $s6 $s4 move $s5 $s6 if43_end: li $s6 0 move $s5 $s6 move $s6 $s5 move $v0 $s6 lw $s0 -12($fp) lw $s1 -16($fp) lw $s2 -20($fp) lw $s3 -24($fp) lw $s4 -28($fp) lw $s5 -32($fp) lw $s6 -36($fp) lw $s7 -40($fp) lw $ra -4($fp) lw $fp -8($fp) addu $sp $sp 384 jr $ra QS_Print: sw $fp -8($sp) move $fp $sp subu $sp $sp 92 sw $ra -4($fp) sw $s0 -12($fp) sw $s1 -16($fp) sw $s2 -20($fp) sw $s3 -24($fp) sw $s4 -28($fp) sw $s5 -32($fp) sw $s6 -36($fp) sw $s7 -40($fp) move $s6 $a0 li $s7 0 move $s5 $s7 move $s7 $s5 while214_test: move $s5 $s7 lw $t0 -76($fp) lw $t0 20($s6) sw $t0 -76($fp) lw $t0 -84($fp) lw $t1 -76($fp) move $t0 $t1 sw $t1 -76($fp) sw $t0 -84($fp) lw $t0 -80($fp) lw $t1 -84($fp) move $t0 $t1 sw $t1 -84($fp) sw $t0 -80($fp) lw $t0 -72($fp) lw $t1 -80($fp) move $a0 $s5 move $t9 $t1 slt $t0 $a0 $t9 sw $t1 -80($fp) sw $t0 -72($fp) lw $t0 -92($fp) lw $t1 -72($fp) move $t0 $t1 sw $t1 -72($fp) sw $t0 -92($fp) lw $t0 -88($fp) lw $t1 -92($fp) move $t0 $t1 sw $t1 -92($fp) sw $t0 -88($fp) lw $t0 -88($fp) beqz $t0 while214_end sw $t0 -88($fp) while214_body: lw $t6 16($s6) move $t5 $t6 move $s4 $s7 move $a0 $s4 li $t9 4 mul $s3 $a0 $t9 move $a0 $s3 li $t9 4 add $s3 $a0 $t9 move $a0 $t5 move $t9 $s3 add $s3 $a0 $t9 lw $s0 0($s3) move $s1 $s0 move $s2 $s1 move $a0 $s2 jal _print move $t4 $s7 lw $t0 -68($fp) li $t0 1 sw $t0 -68($fp) lw $t0 -68($fp) move $a0 $t4 move $t9 $t0 add $t3 $a0 $t9 sw $t0 -68($fp) move $t7 $t3 move $s7 $t7 j while214_test while214_end: li $t3 0 move $t4 $t3 move $t3 $t4 move $v0 $t3 lw $s0 -12($fp) lw $s1 -16($fp) lw $s2 -20($fp) lw $s3 -24($fp) lw $s4 -28($fp) lw $s5 -32($fp) lw $s6 -36($fp) lw $s7 -40($fp) lw $ra -4($fp) lw $fp -8($fp) addu $sp $sp 92 jr $ra QS_Init: sw $fp -8($sp) move $fp $sp subu $sp $sp 64 sw $ra -4($fp) sw $s0 -12($fp) sw $s1 -16($fp) sw $s2 -20($fp) sw $s3 -24($fp) sw $s4 -28($fp) sw $s5 -32($fp) sw $s6 -36($fp) sw $s7 -40($fp) move $s5 $a0 move $s6 $a1 move $s7 $s6 move $s4 $s7 sw $s4 20($s5) move $s4 $s6 move $s6 $s4 sw $t3 -44($fp) sw $t4 -48($fp) sw $t5 -52($fp) sw $t6 -56($fp) sw $t7 -60($fp) sw $t8 -64($fp) move $a0 $s6 jal AllocArray lw $t3 -44($fp) lw $t4 -48($fp) lw $t5 -52($fp) lw $t6 -56($fp) lw $t7 -60($fp) lw $t8 -64($fp) move $s4 $v0 move $s6 $s4 move $s4 $s6 sw $s4 16($s5) lw $s4 16($s5) li $s6 0 move $s7 $s6 move $a0 $s7 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s4 move $t9 $s6 add $s6 $a0 $t9 li $s4 20 move $s7 $s4 sw $s7 0($s6) lw $s7 16($s5) li $s6 1 move $s4 $s6 move $a0 $s4 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s7 move $t9 $s6 add $s6 $a0 $t9 li $s7 7 move $s4 $s7 sw $s4 0($s6) lw $s4 16($s5) li $s6 2 move $s7 $s6 move $a0 $s7 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s4 move $t9 $s6 add $s6 $a0 $t9 li $s4 12 move $s7 $s4 sw $s7 0($s6) lw $s7 16($s5) li $s6 3 move $s4 $s6 move $a0 $s4 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s7 move $t9 $s6 add $s6 $a0 $t9 li $s7 18 move $s4 $s7 sw $s4 0($s6) lw $s4 16($s5) li $s6 4 move $s7 $s6 move $a0 $s7 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s4 move $t9 $s6 add $s6 $a0 $t9 li $s4 2 move $s7 $s4 sw $s7 0($s6) lw $s7 16($s5) li $s6 5 move $s4 $s6 move $a0 $s4 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s7 move $t9 $s6 add $s6 $a0 $t9 li $s7 11 move $s4 $s7 sw $s4 0($s6) lw $s4 16($s5) li $s6 6 move $s7 $s6 move $a0 $s7 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s4 move $t9 $s6 add $s6 $a0 $t9 li $s4 6 move $s7 $s4 sw $s7 0($s6) lw $s7 16($s5) li $s6 7 move $s4 $s6 move $a0 $s4 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s7 move $t9 $s6 add $s6 $a0 $t9 li $s7 9 move $s4 $s7 sw $s4 0($s6) lw $s4 16($s5) li $s6 8 move $s7 $s6 move $a0 $s7 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s4 move $t9 $s6 add $s6 $a0 $t9 li $s4 19 move $s7 $s4 sw $s7 0($s6) lw $s7 16($s5) li $s5 9 move $s6 $s5 move $a0 $s6 li $t9 4 mul $s5 $a0 $t9 move $a0 $s5 li $t9 4 add $s5 $a0 $t9 move $a0 $s7 move $t9 $s5 add $s5 $a0 $t9 li $s7 5 move $s6 $s7 sw $s6 0($s5) li $s6 0 move $s5 $s6 move $s6 $s5 move $v0 $s6 lw $s0 -12($fp) lw $s1 -16($fp) lw $s2 -20($fp) lw $s3 -24($fp) lw $s4 -28($fp) lw $s5 -32($fp) lw $s6 -36($fp) lw $s7 -40($fp) lw $ra -4($fp) lw $fp -8($fp) addu $sp $sp 64 jr $ra AllocArray: sw $fp -8($sp) move $fp $sp subu $sp $sp 64 sw $ra -4($fp) sw $s0 -12($fp) sw $s1 -16($fp) sw $s2 -20($fp) sw $s3 -24($fp) sw $s4 -28($fp) sw $s5 -32($fp) sw $s6 -36($fp) sw $s7 -40($fp) move $s7 $a0 move $a0 $s7 li $t9 4 mul $s6 $a0 $t9 move $a0 $s6 li $t9 4 add $s6 $a0 $t9 move $a0 $s6 jal _heapAlloc move $s5 $v0 sw $s7 0($s5) move $v0 $s5 lw $s0 -12($fp) lw $s1 -16($fp) lw $s2 -20($fp) lw $s3 -24($fp) lw $s4 -28($fp) lw $s5 -32($fp) lw $s6 -36($fp) lw $s7 -40($fp) lw $ra -4($fp) lw $fp -8($fp) addu $sp $sp 64 jr $ra _print: li $v0 1 # syscall: print integer syscall la $a0 _newline li $v0 4 # syscall: print string syscall jr $ra _error: li $v0 4 # syscall: print string syscall li $v0 10 # syscall: exit syscall _heapAlloc: li $v0 9 # syscall: sbrk syscall jr $ra .data .align 0 _newline: .asciiz "\n" _str0: .asciiz "null pointer\n"