summaryrefslogtreecommitdiff
path: root/output/BubbleSort.s
diff options
context:
space:
mode:
Diffstat (limited to 'output/BubbleSort.s')
-rw-r--r--output/BubbleSort.s1102
1 files changed, 1102 insertions, 0 deletions
diff --git a/output/BubbleSort.s b/output/BubbleSort.s
new file mode 100644
index 0000000..2a220bd
--- /dev/null
+++ b/output/BubbleSort.s
@@ -0,0 +1,1102 @@
+.data
+functable_BBS:
+ BBS_Start
+ BBS_Sort
+ BBS_Print
+ BBS_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_BBS
+ 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
+BBS_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 99999
+ move $s5 $s7
+ move $s7 $s5
+ move $a0 $s7
+ jal _print
+ 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
+ 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 0
+ move $s4 $s7
+ move $s7 $s4
+ move $v0 $s7
+ 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
+BBS_Sort:
+ sw $fp -8($sp)
+ move $fp $sp
+ subu $sp $sp 344
+ 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 -160($fp)
+ lw $t0 -160($fp)
+ lw $s6 0($t0)
+ sw $t0 -160($fp)
+ li $s5 1
+ move $a0 $s6
+ move $t9 $s5
+ sub $s4 $a0 $t9
+ move $s5 $s4
+ lw $t0 -156($fp)
+ move $t0 $s5
+ sw $t0 -156($fp)
+ li $s5 0
+ li $s6 1
+ move $a0 $s5
+ move $t9 $s6
+ sub $s3 $a0 $t9
+ move $s6 $s3
+ lw $t0 -152($fp)
+ move $t0 $s6
+ sw $t0 -152($fp)
+while41_test:
+ lw $t0 -148($fp)
+ lw $t1 -152($fp)
+ move $t0 $t1
+ sw $t1 -152($fp)
+ sw $t0 -148($fp)
+ lw $t0 -108($fp)
+ lw $t1 -156($fp)
+ move $t0 $t1
+ sw $t1 -156($fp)
+ sw $t0 -108($fp)
+ lw $t0 -104($fp)
+ lw $t1 -148($fp)
+ lw $t2 -108($fp)
+ move $a0 $t1
+ move $t9 $t2
+ slt $t0 $a0 $t9
+ sw $t2 -108($fp)
+ sw $t1 -148($fp)
+ sw $t0 -104($fp)
+ lw $t0 -92($fp)
+ lw $t1 -104($fp)
+ move $t0 $t1
+ sw $t1 -104($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 while41_end
+ sw $t0 -88($fp)
+while41_body:
+ lw $t0 -96($fp)
+ li $t0 1
+ sw $t0 -96($fp)
+ lw $t0 -80($fp)
+ lw $t1 -96($fp)
+ move $t0 $t1
+ sw $t1 -96($fp)
+ sw $t0 -80($fp)
+ lw $t0 -100($fp)
+ lw $t1 -80($fp)
+ move $t0 $t1
+ sw $t1 -80($fp)
+ sw $t0 -100($fp)
+while49_test:
+ lw $t0 -84($fp)
+ lw $t1 -100($fp)
+ move $t0 $t1
+ sw $t1 -100($fp)
+ sw $t0 -84($fp)
+ lw $t0 -128($fp)
+ lw $t1 -156($fp)
+ move $t0 $t1
+ sw $t1 -156($fp)
+ sw $t0 -128($fp)
+ lw $t0 -72($fp)
+ li $t0 1
+ sw $t0 -72($fp)
+ lw $t0 -120($fp)
+ lw $t1 -128($fp)
+ lw $t2 -72($fp)
+ move $a0 $t1
+ move $t9 $t2
+ add $t0 $a0 $t9
+ sw $t2 -72($fp)
+ sw $t1 -128($fp)
+ sw $t0 -120($fp)
+ lw $t0 -112($fp)
+ lw $t1 -120($fp)
+ move $t0 $t1
+ sw $t1 -120($fp)
+ sw $t0 -112($fp)
+ lw $t0 -140($fp)
+ lw $t1 -112($fp)
+ move $t0 $t1
+ sw $t1 -112($fp)
+ sw $t0 -140($fp)
+ lw $t0 -76($fp)
+ lw $t1 -84($fp)
+ lw $t2 -140($fp)
+ move $a0 $t1
+ move $t9 $t2
+ slt $t0 $a0 $t9
+ sw $t2 -140($fp)
+ sw $t1 -84($fp)
+ sw $t0 -76($fp)
+ lw $t0 -144($fp)
+ lw $t1 -76($fp)
+ move $t0 $t1
+ sw $t1 -76($fp)
+ sw $t0 -144($fp)
+ lw $t0 -136($fp)
+ lw $t1 -144($fp)
+ move $t0 $t1
+ sw $t1 -144($fp)
+ sw $t0 -136($fp)
+ lw $t0 -136($fp)
+ beqz $t0 while49_end
+ sw $t0 -136($fp)
+while49_body:
+ lw $t0 -256($fp)
+ lw $t1 -100($fp)
+ move $t0 $t1
+ sw $t1 -100($fp)
+ sw $t0 -256($fp)
+ lw $t0 -192($fp)
+ li $t0 1
+ sw $t0 -192($fp)
+ lw $t0 -260($fp)
+ lw $t1 -256($fp)
+ lw $t2 -192($fp)
+ move $a0 $t1
+ move $t9 $t2
+ sub $t0 $a0 $t9
+ sw $t2 -192($fp)
+ sw $t1 -256($fp)
+ sw $t0 -260($fp)
+ lw $t0 -236($fp)
+ lw $t1 -260($fp)
+ move $t0 $t1
+ sw $t1 -260($fp)
+ sw $t0 -236($fp)
+ lw $t0 -288($fp)
+ lw $t1 -236($fp)
+ move $t0 $t1
+ sw $t1 -236($fp)
+ sw $t0 -288($fp)
+ lw $t0 -208($fp)
+ lw $t1 -160($fp)
+ lw $t0 0($t1)
+ sw $t1 -160($fp)
+ sw $t0 -208($fp)
+ lw $t0 -244($fp)
+ lw $t1 -208($fp)
+ move $t0 $t1
+ sw $t1 -208($fp)
+ sw $t0 -244($fp)
+ lw $t0 -220($fp)
+ lw $t1 -288($fp)
+ move $t0 $t1
+ sw $t1 -288($fp)
+ sw $t0 -220($fp)
+ lw $t0 -204($fp)
+ lw $t1 -220($fp)
+ move $a0 $t1
+ li $t9 4
+ mul $t0 $a0 $t9
+ sw $t1 -220($fp)
+ sw $t0 -204($fp)
+ lw $t0 -204($fp)
+ lw $t1 -204($fp)
+ move $a0 $t1
+ li $t9 4
+ add $t0 $a0 $t9
+ sw $t1 -204($fp)
+ sw $t0 -204($fp)
+ lw $t0 -204($fp)
+ lw $t1 -244($fp)
+ lw $t2 -204($fp)
+ move $a0 $t1
+ move $t9 $t2
+ add $t0 $a0 $t9
+ sw $t2 -204($fp)
+ sw $t1 -244($fp)
+ sw $t0 -204($fp)
+ lw $t0 -252($fp)
+ lw $t1 -204($fp)
+ lw $t0 0($t1)
+ sw $t1 -204($fp)
+ sw $t0 -252($fp)
+ lw $t0 -216($fp)
+ lw $t1 -252($fp)
+ move $t0 $t1
+ sw $t1 -252($fp)
+ sw $t0 -216($fp)
+ lw $t0 -228($fp)
+ lw $t1 -216($fp)
+ move $t0 $t1
+ sw $t1 -216($fp)
+ sw $t0 -228($fp)
+ lw $t0 -164($fp)
+ lw $t1 -160($fp)
+ lw $t0 0($t1)
+ sw $t1 -160($fp)
+ sw $t0 -164($fp)
+ lw $t0 -164($fp)
+ move $t6 $t0
+ sw $t0 -164($fp)
+ lw $t0 -172($fp)
+ lw $t1 -100($fp)
+ move $t0 $t1
+ sw $t1 -100($fp)
+ sw $t0 -172($fp)
+ lw $t0 -172($fp)
+ move $a0 $t0
+ li $t9 4
+ mul $s7 $a0 $t9
+ sw $t0 -172($fp)
+ move $a0 $s7
+ li $t9 4
+ add $s7 $a0 $t9
+ move $a0 $t6
+ move $t9 $s7
+ add $s7 $a0 $t9
+ lw $s0 0($s7)
+ lw $t0 -168($fp)
+ move $t0 $s0
+ sw $t0 -168($fp)
+ lw $t0 -176($fp)
+ lw $t1 -168($fp)
+ move $t0 $t1
+ sw $t1 -168($fp)
+ sw $t0 -176($fp)
+ lw $t0 -176($fp)
+ move $s5 $t0
+ sw $t0 -176($fp)
+ lw $t0 -228($fp)
+ move $s4 $t0
+ sw $t0 -228($fp)
+ move $a0 $s5
+ move $t9 $s4
+ slt $s6 $a0 $t9
+ move $s3 $s6
+ lw $t0 -308($fp)
+ move $t0 $s3
+ sw $t0 -308($fp)
+ lw $t0 -308($fp)
+ beqz $t0 if75_else
+ sw $t0 -308($fp)
+if75_body:
+ lw $t0 -336($fp)
+ lw $t1 -100($fp)
+ move $t0 $t1
+ sw $t1 -100($fp)
+ sw $t0 -336($fp)
+ lw $t0 -332($fp)
+ li $t0 1
+ sw $t0 -332($fp)
+ lw $t0 -312($fp)
+ lw $t1 -336($fp)
+ lw $t2 -332($fp)
+ move $a0 $t1
+ move $t9 $t2
+ sub $t0 $a0 $t9
+ sw $t2 -332($fp)
+ sw $t1 -336($fp)
+ sw $t0 -312($fp)
+ lw $t0 -344($fp)
+ lw $t1 -312($fp)
+ move $t0 $t1
+ sw $t1 -312($fp)
+ sw $t0 -344($fp)
+ lw $t0 -316($fp)
+ lw $t1 -344($fp)
+ move $t0 $t1
+ sw $t1 -344($fp)
+ sw $t0 -316($fp)
+ lw $t0 -328($fp)
+ lw $t1 -160($fp)
+ lw $t0 0($t1)
+ sw $t1 -160($fp)
+ sw $t0 -328($fp)
+ lw $t0 -320($fp)
+ lw $t1 -328($fp)
+ move $t0 $t1
+ sw $t1 -328($fp)
+ sw $t0 -320($fp)
+ lw $t0 -264($fp)
+ lw $t1 -316($fp)
+ move $t0 $t1
+ sw $t1 -316($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 -320($fp)
+ lw $t2 -268($fp)
+ move $a0 $t1
+ move $t9 $t2
+ add $t0 $a0 $t9
+ sw $t2 -268($fp)
+ sw $t1 -320($fp)
+ sw $t0 -268($fp)
+ lw $t0 -324($fp)
+ lw $t1 -268($fp)
+ lw $t0 0($t1)
+ sw $t1 -268($fp)
+ sw $t0 -324($fp)
+ lw $t0 -276($fp)
+ lw $t1 -324($fp)
+ move $t0 $t1
+ sw $t1 -324($fp)
+ sw $t0 -276($fp)
+ lw $t0 -340($fp)
+ lw $t1 -276($fp)
+ move $t0 $t1
+ sw $t1 -276($fp)
+ sw $t0 -340($fp)
+ lw $t0 -272($fp)
+ lw $t1 -160($fp)
+ lw $t0 0($t1)
+ sw $t1 -160($fp)
+ sw $t0 -272($fp)
+ lw $t0 -292($fp)
+ lw $t1 -316($fp)
+ move $t0 $t1
+ sw $t1 -316($fp)
+ sw $t0 -292($fp)
+ lw $t0 -304($fp)
+ lw $t1 -292($fp)
+ move $t0 $t1
+ sw $t1 -292($fp)
+ sw $t0 -304($fp)
+ lw $t0 -296($fp)
+ lw $t1 -304($fp)
+ move $a0 $t1
+ li $t9 4
+ mul $t0 $a0 $t9
+ sw $t1 -304($fp)
+ sw $t0 -296($fp)
+ lw $t0 -296($fp)
+ lw $t1 -296($fp)
+ move $a0 $t1
+ li $t9 4
+ add $t0 $a0 $t9
+ sw $t1 -296($fp)
+ sw $t0 -296($fp)
+ lw $t0 -296($fp)
+ lw $t1 -272($fp)
+ lw $t2 -296($fp)
+ move $a0 $t1
+ move $t9 $t2
+ add $t0 $a0 $t9
+ sw $t2 -296($fp)
+ sw $t1 -272($fp)
+ sw $t0 -296($fp)
+ lw $t0 -280($fp)
+ lw $t1 -160($fp)
+ lw $t0 0($t1)
+ sw $t1 -160($fp)
+ sw $t0 -280($fp)
+ lw $t0 -284($fp)
+ lw $t1 -280($fp)
+ move $t0 $t1
+ sw $t1 -280($fp)
+ sw $t0 -284($fp)
+ lw $t0 -184($fp)
+ lw $t1 -100($fp)
+ move $t0 $t1
+ sw $t1 -100($fp)
+ sw $t0 -184($fp)
+ lw $t0 -200($fp)
+ lw $t1 -184($fp)
+ move $a0 $t1
+ li $t9 4
+ mul $t0 $a0 $t9
+ sw $t1 -184($fp)
+ sw $t0 -200($fp)
+ lw $t0 -200($fp)
+ lw $t1 -200($fp)
+ move $a0 $t1
+ li $t9 4
+ add $t0 $a0 $t9
+ sw $t1 -200($fp)
+ sw $t0 -200($fp)
+ lw $t0 -200($fp)
+ lw $t1 -284($fp)
+ lw $t2 -200($fp)
+ move $a0 $t1
+ move $t9 $t2
+ add $t0 $a0 $t9
+ sw $t2 -200($fp)
+ sw $t1 -284($fp)
+ sw $t0 -200($fp)
+ lw $t0 -300($fp)
+ lw $t1 -200($fp)
+ lw $t0 0($t1)
+ sw $t1 -200($fp)
+ sw $t0 -300($fp)
+ lw $t0 -180($fp)
+ lw $t1 -300($fp)
+ move $t0 $t1
+ sw $t1 -300($fp)
+ sw $t0 -180($fp)
+ lw $t0 -296($fp)
+ lw $t1 -180($fp)
+ sw $t1 0($t0)
+ sw $t1 -180($fp)
+ sw $t0 -296($fp)
+ lw $t0 -196($fp)
+ lw $t1 -160($fp)
+ lw $t0 0($t1)
+ sw $t1 -160($fp)
+ sw $t0 -196($fp)
+ lw $t0 -232($fp)
+ lw $t1 -100($fp)
+ move $t0 $t1
+ sw $t1 -100($fp)
+ sw $t0 -232($fp)
+ lw $t0 -224($fp)
+ lw $t1 -232($fp)
+ move $t0 $t1
+ sw $t1 -232($fp)
+ sw $t0 -224($fp)
+ lw $t0 -188($fp)
+ lw $t1 -224($fp)
+ move $a0 $t1
+ li $t9 4
+ mul $t0 $a0 $t9
+ sw $t1 -224($fp)
+ sw $t0 -188($fp)
+ lw $t0 -188($fp)
+ lw $t1 -188($fp)
+ move $a0 $t1
+ li $t9 4
+ add $t0 $a0 $t9
+ sw $t1 -188($fp)
+ sw $t0 -188($fp)
+ lw $t0 -188($fp)
+ lw $t1 -196($fp)
+ lw $t2 -188($fp)
+ move $a0 $t1
+ move $t9 $t2
+ add $t0 $a0 $t9
+ sw $t2 -188($fp)
+ sw $t1 -196($fp)
+ sw $t0 -188($fp)
+ lw $t0 -248($fp)
+ lw $t1 -340($fp)
+ move $t0 $t1
+ sw $t1 -340($fp)
+ sw $t0 -248($fp)
+ lw $t0 -240($fp)
+ lw $t1 -248($fp)
+ move $t0 $t1
+ sw $t1 -248($fp)
+ sw $t0 -240($fp)
+ lw $t0 -188($fp)
+ lw $t1 -240($fp)
+ sw $t1 0($t0)
+ sw $t1 -240($fp)
+ sw $t0 -188($fp)
+ j if75_end
+if75_else:
+ li $s2 0
+ move $s1 $s2
+ lw $t0 -212($fp)
+ move $t0 $s1
+ sw $t0 -212($fp)
+if75_end:
+ lw $t0 -100($fp)
+ move $t3 $t0
+ sw $t0 -100($fp)
+ li $t7 1
+ move $a0 $t3
+ move $t9 $t7
+ add $t4 $a0 $t9
+ move $t5 $t4
+ lw $t0 -100($fp)
+ move $t0 $t5
+ sw $t0 -100($fp)
+ j while49_test
+while49_end:
+ lw $t0 -132($fp)
+ lw $t1 -156($fp)
+ move $t0 $t1
+ sw $t1 -156($fp)
+ sw $t0 -132($fp)
+ lw $t0 -68($fp)
+ li $t0 1
+ sw $t0 -68($fp)
+ lw $t0 -124($fp)
+ lw $t1 -132($fp)
+ lw $t2 -68($fp)
+ move $a0 $t1
+ move $t9 $t2
+ sub $t0 $a0 $t9
+ sw $t2 -68($fp)
+ sw $t1 -132($fp)
+ sw $t0 -124($fp)
+ lw $t0 -116($fp)
+ lw $t1 -124($fp)
+ move $t0 $t1
+ sw $t1 -124($fp)
+ sw $t0 -116($fp)
+ lw $t0 -156($fp)
+ lw $t1 -116($fp)
+ move $t0 $t1
+ sw $t1 -116($fp)
+ sw $t0 -156($fp)
+ j while41_test
+while41_end:
+ li $s7 0
+ move $s4 $s7
+ move $s7 $s4
+ move $v0 $s7
+ 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 344
+ jr $ra
+BBS_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
+while121_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 while121_end
+ sw $t0 -88($fp)
+while121_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 while121_test
+while121_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
+BBS_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"