diff options
Diffstat (limited to 'output/QuickSort.s')
-rw-r--r-- | output/QuickSort.s | 1420 |
1 files changed, 1420 insertions, 0 deletions
diff --git a/output/QuickSort.s b/output/QuickSort.s new file mode 100644 index 0000000..8e0e216 --- /dev/null +++ b/output/QuickSort.s @@ -0,0 +1,1420 @@ +.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 0($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 0($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 0($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 0($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 0($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 0($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 0($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 +NULL $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 0($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 +NULL $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 0($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 0($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 0($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 0($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 0($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 0($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 0($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 0($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 0($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 0($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 0($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 0($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 0($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 0($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 + jalr $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 0($s5) + lw $s4 0($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 0($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 0($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 0($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 0($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 0($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 0($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 0($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 0($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 0($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" |