source: Deliverables/D2.3/8051/tests/clight/complets.ASM.expected @ 453

Last change on this file since 453 was 453, checked in by ayache, 9 years ago

Import of the Paris's sources.

File size: 25.3 KB
Line 
1# extern __builtin_varargs_start: int -> void
2# extern __builtin_va_start: int -> int -> void
3# extern __builtin_va_end: int -> void
4# extern __builtin_va_copy: int -> int -> void
5# extern __builtin_va_arg: int -> int -> void
6# extern __builtin_types_compatible_p: int -> int -> int
7# extern __builtin_tanl: float -> float
8# extern __builtin_tanhl: float -> float
9# extern __builtin_tanhf: float -> float
10# extern __builtin_tanh: float -> float
11# extern __builtin_tanf: float -> float
12# extern __builtin_tan: float -> float
13# extern __builtin_strspn: int -> int -> int
14# extern __builtin_strpbrk: int -> int -> int
15# extern __builtin_strncpy: int -> int -> int -> int
16# extern __builtin_strncmp: int -> int -> int -> int
17# extern __builtin_strncat: int -> int -> int -> int
18# extern __builtin_strcspn: int -> int -> int
19# extern __builtin_strcpy: int -> int -> int
20# extern __builtin_strcmp: int -> int -> int
21# extern __builtin_strchr: int -> int -> int
22# extern __builtin_stpcpy: int -> int -> int
23# extern __builtin_stdarg_start: int -> void
24# extern __builtin_sqrtl: float -> float
25# extern __builtin_sqrtf: float -> float
26# extern __builtin_sqrt: float -> float
27# extern __builtin_sinl: float -> float
28# extern __builtin_sinhl: float -> float
29# extern __builtin_sinhf: float -> float
30# extern __builtin_sinh: float -> float
31# extern __builtin_sinf: float -> float
32# extern __builtin_sin: float -> float
33# extern __builtin_return_address: int -> int
34# extern __builtin_return: int -> void
35# extern __builtin_powil: float -> int -> float
36# extern __builtin_powif: float -> int -> float
37# extern __builtin_powi: float -> int -> float
38# extern __builtin_popcountll: int -> int
39# extern __builtin_popcountl: int -> int
40# extern __builtin_popcount: int -> int
41# extern __builtin_parityll: int -> int
42# extern __builtin_parityl: int -> int
43# extern __builtin_parity: int -> int
44# extern __builtin_object_size: int -> int -> int
45# extern __builtin_next_arg: int
46# extern __builtin_nansl: int -> float
47# extern __builtin_nansf: int -> float
48# extern __builtin_nans: int -> float
49# extern __builtin_nanl: int -> float
50# extern __builtin_nanf: int -> float
51# extern __builtin_nan: int -> float
52# extern __builtin_modfl: float -> int -> float
53# extern __builtin_modff: float -> int -> float
54# extern __builtin_mempcpy: int -> int -> int -> int
55# extern __builtin_memcpy: int -> int -> int -> int
56# extern __builtin_logl: float -> float
57# extern __builtin_logf: float -> float
58# extern __builtin_log10l: float -> float
59# extern __builtin_log10f: float -> float
60# extern __builtin_log10: float -> float
61# extern __builtin_log: float -> float
62# extern __builtin_ldexpl: float -> int -> float
63# extern __builtin_ldexpf: float -> int -> float
64# extern __builtin_ldexp: float -> int -> float
65# extern __builtin_infl: float
66# extern __builtin_inff: float
67# extern __builtin_inf: float
68# extern __builtin_huge_vall: float
69# extern __builtin_huge_valf: float
70# extern __builtin_huge_val: float
71# extern __builtin_frexpl: float -> int -> float
72# extern __builtin_frexpf: float -> int -> float
73# extern __builtin_frexp: float -> int -> float
74# extern __builtin_frame_address: int -> int
75# extern __builtin_fmodl: float -> float
76# extern __builtin_fmodf: float -> float
77# extern __builtin_fmod: float -> float
78# extern __builtin_floorl: float -> float
79# extern __builtin_floorf: float -> float
80# extern __builtin_floor: float -> float
81# extern __builtin_ffsll: int -> int
82# extern __builtin_ffsl: int -> int
83# extern __builtin_ffs: int -> int
84# extern __builtin_fabsl: float -> float
85# extern __builtin_fabsf: float -> float
86# extern __builtin_fabs: float -> float
87# extern __builtin_expl: float -> float
88# extern __builtin_expf: float -> float
89# extern __builtin_expect: int -> int -> int
90# extern __builtin_exp: float -> float
91# extern __builtin_ctzll: int -> int
92# extern __builtin_ctzl: int -> int
93# extern __builtin_ctz: int -> int
94# extern __builtin_cosl: float -> float
95# extern __builtin_coshl: float -> float
96# extern __builtin_coshf: float -> float
97# extern __builtin_cosh: float -> float
98# extern __builtin_cosf: float -> float
99# extern __builtin_cos: float -> float
100# extern __builtin_constant_p: int -> int
101# extern __builtin_clzll: int -> int
102# extern __builtin_clzl: int -> int
103# extern __builtin_clz: int -> int
104# extern __builtin_ceill: float -> float
105# extern __builtin_ceilf: float -> float
106# extern __builtin_ceil: float -> float
107# extern __builtin_atanl: float -> float
108# extern __builtin_atanf: float -> float
109# extern __builtin_atan2l: float -> float -> float
110# extern __builtin_atan2f: float -> float -> float
111# extern __builtin_atan2: float -> float -> float
112# extern __builtin_atan: float -> float
113# extern __builtin_asinl: float -> float
114# extern __builtin_asinf: float -> float
115# extern __builtin_asin: float -> float
116# extern __builtin_alloca: int -> int
117# extern __builtin_acosl: float -> float
118# extern __builtin_acosf: float -> float
119# extern __builtin_acos: float -> float
120# extern __builtin___vsprintf_chk: int -> int -> int -> int -> int -> int
121# extern __builtin___vsnprintf_chk: int -> int -> int -> int -> int -> int -> int
122# extern __builtin___vprintf_chk: int -> int -> int -> int
123# extern __builtin___vfprintf_chk: int -> int -> int -> int -> int
124# extern __builtin___strncpy_chk: int -> int -> int -> int -> int
125# extern __builtin___strncat_chk: int -> int -> int -> int -> int
126# extern __builtin___strcpy_chk: int -> int -> int -> int
127# extern __builtin___strcat_chk: int -> int -> int -> int
128# extern __builtin___stpcpy_chk: int -> int -> int -> int
129# extern __builtin___memset_chk: int -> int -> int -> int -> int
130# extern __builtin___mempcpy_chk: int -> int -> int -> int -> int
131# extern __builtin___memmove_chk: int -> int -> int -> int -> int
132# extern __builtin___memcpy_chk: int -> int -> int -> int -> int
133
134# begin preamble       
135.data                 
136globals:               
137.space 0           
138nl:                   
139.asciiz "\n"     
140.align 2             
141.text                 
142main:                 
143la    $gp, globals   
144j     main307             
145print_int:           
146li    $v0, 1         
147syscall               
148jr     $ra           
149print_intln:         
150li    $v0, 1         
151syscall               
152la    $a0, nl         
153li    $v0, 4         
154syscall               
155jr     $ra           
156scan_int:             
157li    $v0, 5         
158syscall               
159jr     $ra           
160alloc:               
161li    $v0, 9         
162syscall               
163jr     $ra           
164
165pow2:                 
166li    $v0, 1         
167sllv  $v0, $v0, $a0   
168jr    $ra             
169
170mod:                 
171beqz  $a0, mod0       
172beqz  $a1, mod0       
173li    $t2, 0         
174mod_t0:               
175bgtz  $a0, mod_a0_pos
176neg   $t0, $a0       
177addi  $t2, $t2, 1     
178j     mod_t1         
179mod_a0_pos:           
180move  $t0, $a0       
181mod_t1:               
182bgtz  $a1, mod_a1_pos
183neg   $t1, $a1       
184addi  $t2, $t2, 2     
185j     mod_main       
186mod_a1_pos:           
187move  $t1, $a1       
188mod_main:             
189rem   $v0, $t0, $t1   
190beqz  $t2, mod_exit   
191addi  $t2, -1         
192beqz  $t2, mod_case1 
193addi  $t2, -1         
194beqz  $t2, mod_case2 
195neg   $v0, $v0       
196j mod_exit           
197mod_case1:           
198sub   $v0, $a1, $v0   
199j mod_exit           
200mod_case2:           
201add   $v0, $a1, $v0   
202j mod_exit           
203mod0:                 
204li    $v0, 0         
205mod_exit:             
206jr    $ra             
207
208toint:               
209# $a0: size           
210# $a1: int to convert
211addi  $sp, $sp, -4   
212sw    $ra, 0($sp)     
213jal   pow2           
214move  $a0, $a1       
215move  $a1, $v0       
216jal   mod             
217lw    $ra, 0($sp)     
218addi  $sp, $sp, 4     
219jr    $ra             
220
221toint8:               
222addi  $sp, $sp, -4   
223sw    $ra, 0($sp)     
224move  $a1, $a0       
225li    $a0, 8         
226jal   toint           
227lw    $ra, 0($sp)     
228addi  $sp, $sp, 4     
229jr    $ra             
230
231toint16:             
232addi  $sp, $sp, -4   
233sw    $ra, 0($sp)     
234move  $a1, $a0       
235li    $a0, 16         
236jal   toint           
237lw    $ra, 0($sp)     
238addi  $sp, $sp, 4     
239jr    $ra             
240
241sign_ext:             
242# $a0: size           
243# $a1: int to extend 
244li    $v0, 32         
245sub   $a0, $v0, $a0   
246sllv  $v0, $a1, $a0   
247srav  $v0, $v0, $a0   
248jr    $ra             
249
250ofint:               
251# $a0: signedness     
252# $a1: size           
253# $a2: int to convert
254addi  $sp, $sp, -4   
255sw    $ra, 0($sp)     
256beqz  $a0, ofint_unsigned
257move  $a0, $a1       
258move  $a1, $a2       
259jal   sign_ext       
260j     ofint_exit     
261ofint_unsigned:       
262move  $v0, $a2       
263ofint_exit:           
264lw    $ra, 0($sp)     
265addi  $sp, $sp, 4     
266jr    $ra             
267
268ofint8:               
269addi  $sp, $sp, -4   
270sw    $ra, 0($sp)     
271move  $a2, $a0       
272li    $a1, 8         
273li    $a0, 1         
274jal   ofint           
275lw    $ra, 0($sp)     
276addi  $sp, $sp, 4     
277jr    $ra             
278
279ofuint8:             
280addi  $sp, $sp, -4   
281sw    $ra, 0($sp)     
282move  $a2, $a0       
283li    $a1, 8         
284li    $a0, 0         
285jal   ofint           
286lw    $ra, 0($sp)     
287addi  $sp, $sp, 4     
288jr    $ra             
289
290ofint16:             
291addi  $sp, $sp, -4   
292sw    $ra, 0($sp)     
293move  $a2, $a0       
294li    $a1, 16         
295li    $a0, 1         
296jal   ofint           
297lw    $ra, 0($sp)     
298addi  $sp, $sp, 4     
299jr    $ra             
300
301ofuint16:             
302addi  $sp, $sp, -4   
303sw    $ra, 0($sp)     
304move  $a2, $a0       
305li    $a1, 16         
306li    $a0, 0         
307jal   ofint           
308lw    $ra, 0($sp)     
309addi  $sp, $sp, 4     
310jr    $ra             
311# end preamble       
312
313
314# begin comp_tri
315comp_tri123:
316c108:
317li      $v0, 0
318c107:
319c106:
320li      $t1, 0
321comp_tri55:
322li      $a3, 0
323c105:
324slt     $a2, $t1, $a1
325seq     $a2, $a2, $zero
326beq     $a2, $a3, comp_tri50
327c95:
328jr      $ra
329comp_tri50:
330c103:
331c102:
332li      $t2, 1
333comp_tri47:
334li      $a3, 0
335c101:
336sub     $a2, $a1, $t1
337slt     $a2, $t2, $a2
338seq     $a2, $a2, $zero
339beq     $a2, $a3, comp_tri41
340c104:
341li      $a2, 1
342add     $t1, $t1, $a2
343j       comp_tri55
344comp_tri41:
345c99:
346li      $a2, 4
347mulo    $a2, $t2, $a2
348add     $a2, $a0, $a2
349lw      $t0, 0($a2)
350li      $a2, 1
351sub     $a3, $t2, $a2
352li      $a2, 4
353mulo    $a2, $a3, $a2
354add     $a2, $a0, $a2
355lw      $a2, 0($a2)
356slt     $a2, $t0, $a2
357beq     $a2, $zero, comp_tri10
358c98:
359li      $v0, 1
360sub     $a2, $t2, $v0
361li      $v0, 4
362mulo    $v0, $a2, $v0
363add     $v0, $a0, $v0
364lw      $v0, 0($v0)
365c97:
366li      $a2, 4
367mulo    $a2, $t2, $a2
368add     $a2, $a0, $a2
369lw      $t0, 0($a2)
370li      $a2, 1
371sub     $a3, $t2, $a2
372li      $a2, 4
373mulo    $a2, $a3, $a2
374add     $a2, $a0, $a2
375sw      $t0, 0($a2)
376c96:
377li      $a2, 4
378mulo    $a2, $t2, $a2
379add     $a2, $a0, $a2
380sw      $v0, 0($a2)
381comp_tri10:
382c100:
383li      $a2, 1
384add     $t2, $t2, $a2
385j       comp_tri47
386# end comp_tri
387
388
389# begin comp_total
390comp_total410:
391addi    $sp, $sp, -80
392c94:
393li      $t0, 0
394move    $a3, $sp
395li      $v0, 4
396mulo    $v0, $zero, $v0
397add     $v0, $a3, $v0
398sw      $t0, 0($v0)
399c93:
400move    $t0, $sp
401li      $a3, 1
402li      $v0, 4
403mulo    $v0, $a3, $v0
404add     $v0, $t0, $v0
405sw      $zero, 0($v0)
406c92:
407move    $t0, $sp
408li      $a3, 2
409li      $v0, 4
410mulo    $v0, $a3, $v0
411add     $v0, $t0, $v0
412sw      $zero, 0($v0)
413c91:
414move    $t0, $sp
415li      $a3, 3
416li      $v0, 4
417mulo    $v0, $a3, $v0
418add     $v0, $t0, $v0
419sw      $zero, 0($v0)
420c90:
421move    $t0, $sp
422li      $a3, 4
423li      $v0, 4
424mulo    $v0, $a3, $v0
425add     $v0, $t0, $v0
426sw      $zero, 0($v0)
427c89:
428move    $t0, $sp
429li      $a3, 5
430li      $v0, 4
431mulo    $v0, $a3, $v0
432add     $v0, $t0, $v0
433sw      $zero, 0($v0)
434c88:
435move    $t0, $sp
436li      $a3, 6
437li      $v0, 4
438mulo    $v0, $a3, $v0
439add     $v0, $t0, $v0
440sw      $zero, 0($v0)
441c87:
442move    $t0, $sp
443li      $a3, 7
444li      $v0, 4
445mulo    $v0, $a3, $v0
446add     $v0, $t0, $v0
447sw      $zero, 0($v0)
448c86:
449move    $t0, $sp
450li      $a3, 8
451li      $v0, 4
452mulo    $v0, $a3, $v0
453add     $v0, $t0, $v0
454sw      $zero, 0($v0)
455c85:
456move    $t0, $sp
457li      $a3, 9
458li      $v0, 4
459mulo    $v0, $a3, $v0
460add     $v0, $t0, $v0
461sw      $zero, 0($v0)
462c84:
463li      $t0, 0
464move    $a3, $sp
465addi    $a3, $a3, 40
466li      $v0, 4
467mulo    $v0, $zero, $v0
468add     $v0, $a3, $v0
469sw      $t0, 0($v0)
470c83:
471move    $t0, $sp
472addi    $t0, $t0, 40
473li      $a3, 1
474li      $v0, 4
475mulo    $v0, $a3, $v0
476add     $v0, $t0, $v0
477sw      $zero, 0($v0)
478c82:
479move    $t0, $sp
480addi    $t0, $t0, 40
481li      $a3, 2
482li      $v0, 4
483mulo    $v0, $a3, $v0
484add     $v0, $t0, $v0
485sw      $zero, 0($v0)
486c81:
487move    $t0, $sp
488addi    $t0, $t0, 40
489li      $a3, 3
490li      $v0, 4
491mulo    $v0, $a3, $v0
492add     $v0, $t0, $v0
493sw      $zero, 0($v0)
494c80:
495move    $t0, $sp
496addi    $t0, $t0, 40
497li      $a3, 4
498li      $v0, 4
499mulo    $v0, $a3, $v0
500add     $v0, $t0, $v0
501sw      $zero, 0($v0)
502c79:
503move    $t0, $sp
504addi    $t0, $t0, 40
505li      $a3, 5
506li      $v0, 4
507mulo    $v0, $a3, $v0
508add     $v0, $t0, $v0
509sw      $zero, 0($v0)
510c78:
511move    $t0, $sp
512addi    $t0, $t0, 40
513li      $a3, 6
514li      $v0, 4
515mulo    $v0, $a3, $v0
516add     $v0, $t0, $v0
517sw      $zero, 0($v0)
518c77:
519move    $t0, $sp
520addi    $t0, $t0, 40
521li      $a3, 7
522li      $v0, 4
523mulo    $v0, $a3, $v0
524add     $v0, $t0, $v0
525sw      $zero, 0($v0)
526c76:
527move    $t0, $sp
528addi    $t0, $t0, 40
529li      $a3, 8
530li      $v0, 4
531mulo    $v0, $a3, $v0
532add     $v0, $t0, $v0
533sw      $zero, 0($v0)
534c75:
535move    $t0, $sp
536addi    $t0, $t0, 40
537li      $a3, 9
538li      $v0, 4
539mulo    $v0, $a3, $v0
540add     $v0, $t0, $v0
541sw      $zero, 0($v0)
542c74:
543slt     $v0, $a1, $a2
544beq     $v0, $zero, comp_total40
545c73:
546c72:
547li      $t0, 0
548comp_total58:
549li      $a2, 0
550c71:
551sle     $v0, $t0, $a1
552seq     $v0, $v0, $zero
553beq     $v0, $a2, comp_total53
554comp_total2:
555c59:
556li      $v0, 0
557addi    $sp, $sp, 80
558jr      $ra
559comp_total53:
560c69:
561sub     $a2, $a1, $t0
562li      $v0, 4
563mulo    $v0, $a2, $v0
564add     $v0, $a0, $v0
565lw      $a3, 0($v0)
566move    $a2, $sp
567li      $v0, 4
568mulo    $v0, $t0, $v0
569add     $v0, $a2, $v0
570sw      $a3, 0($v0)
571c70:
572li      $v0, 1
573add     $t0, $t0, $v0
574j       comp_total58
575comp_total40:
576c68:
577c67:
578li      $t2, 0
579comp_total37:
580li      $a3, 0
581c66:
582slt     $v0, $t2, $a1
583seq     $v0, $v0, $zero
584bne     $v0, $a3, comp_total2
585c64:
586c63:
587move    $t1, $a2
588comp_total29:
589li      $a3, 0
590c62:
591sgt     $v0, $t1, $zero
592seq     $v0, $v0, $zero
593beq     $v0, $a3, comp_total23
594c65:
595li      $v0, 1
596add     $t2, $t2, $v0
597j       comp_total37
598comp_total23:
599c60:
600move    $a3, $sp
601li      $v0, 4
602mulo    $v0, $t2, $v0
603add     $v0, $a3, $v0
604lw      $t0, 0($v0)
605move    $a3, $sp
606addi    $a3, $a3, 40
607li      $v0, 4
608mulo    $v0, $t1, $v0
609add     $v0, $a3, $v0
610lw      $v0, 0($v0)
611add     $a3, $t0, $v0
612li      $v0, 4
613mulo    $v0, $t2, $v0
614add     $v0, $a0, $v0
615sw      $a3, 0($v0)
616c61:
617li      $v0, 1
618sub     $t1, $t1, $v0
619j       comp_total29
620# end comp_total
621
622
623# begin comp_ifFor
624comp_ifFor45:
625c58:
626li      $v0, 0
627c57:
628c56:
629li      $t0, 0
630comp_ifFor18:
631li      $t1, 0
632c55:
633slt     $a3, $t0, $a0
634seq     $a3, $a3, $zero
635beq     $a3, $t1, comp_ifFor13
636c50:
637jr      $ra
638comp_ifFor13:
639c53:
640sne     $a3, $t0, $a1
641beq     $a3, $zero, comp_ifFor7
642c52:
643add     $v0, $v0, $t0
644comp_ifFor5:
645c54:
646add     $t0, $t0, $a2
647j       comp_ifFor18
648comp_ifFor7:
649c51:
650li      $v0, 0
651j       comp_ifFor5
652# end comp_ifFor
653
654
655# begin comp_forif2
656comp_forif2153:
657addi    $sp, $sp, -16
658sw      $ra, 12($sp)
659sw      $s2, 8($sp)
660sw      $s1, 4($sp)
661sw      $s0, 0($sp)
662c130:
663li      $s0, 0
664c129:
665li      $s1, 0
666c128:
667c127:
668li      $t0, 0
669comp_forif275:
670li      $t1, 0
671c126:
672slt     $v0, $t0, $a2
673seq     $v0, $v0, $zero
674beq     $v0, $t1, comp_forif270
675c123:
676c122:
677li      $a0, 0
678comp_forif258:
679li      $a2, 0
680c121:
681slt     $v0, $a0, $a3
682seq     $v0, $v0, $zero
683beq     $v0, $a2, comp_forif253
684c118:
685li      $s2, 0
686c117:
687li      $a1, 2
688la      $v0, mod
689move    $a0, $s0
690jalr    $v0
691li      $a0, 0
692seq     $v0, $v0, $a0
693beq     $v0, $zero, comp_forif226
694c116:
695li      $a1, 2
696la      $v0, mod
697move    $a0, $s1
698jalr    $v0
699li      $a0, 0
700seq     $v0, $v0, $a0
701beq     $v0, $zero, comp_forif227
702li      $v0, 1
703comp_forif225:
704beq     $v0, $s2, comp_forif222
705c115:
706comp_forif22:
707c109:
708li      $v0, 0
709lw      $ra, 12($sp)
710lw      $s2, 8($sp)
711lw      $s1, 4($sp)
712lw      $s0, 0($sp)
713addi    $sp, $sp, 16
714jr      $ra
715comp_forif222:
716c114:
717li      $a1, 2
718la      $v0, mod
719move    $a0, $s0
720jalr    $v0
721li      $a0, 0
722seq     $v0, $v0, $a0
723beq     $v0, $zero, comp_forif213
724c113:
725j       comp_forif22
726comp_forif213:
727c112:
728li      $a1, 2
729la      $v0, mod
730move    $a0, $s1
731jalr    $v0
732li      $a0, 0
733seq     $v0, $v0, $a0
734beq     $v0, $zero, comp_forif24
735c111:
736j       comp_forif22
737comp_forif24:
738c110:
739j       comp_forif22
740comp_forif227:
741li      $v0, 0
742j       comp_forif225
743comp_forif226:
744li      $v0, 0
745j       comp_forif225
746comp_forif253:
747c119:
748li      $v0, 4
749mulo    $v0, $a0, $v0
750add     $v0, $a1, $v0
751lw      $v0, 0($v0)
752add     $s1, $s1, $v0
753c120:
754li      $v0, 1
755add     $a0, $a0, $v0
756j       comp_forif258
757comp_forif270:
758c124:
759li      $v0, 4
760mulo    $v0, $t0, $v0
761add     $v0, $a0, $v0
762lw      $v0, 0($v0)
763add     $s0, $s0, $v0
764c125:
765li      $v0, 1
766add     $t0, $t0, $v0
767j       comp_forif275
768# end comp_forif2
769
770
771# begin comp_forif
772comp_forif65:
773addi    $sp, $sp, -12
774sw      $ra, 8($sp)
775sw      $s1, 4($sp)
776sw      $s0, 0($sp)
777c141:
778li      $s1, 0
779c140:
780c139:
781c138:
782li      $s0, 0
783comp_forif28:
784li      $a0, 0
785c137:
786li      $v0, 10
787slt     $v0, $s0, $v0
788seq     $v0, $v0, $zero
789beq     $v0, $a0, comp_forif22
790c131:
791move    $v0, $s1
792lw      $ra, 8($sp)
793lw      $s1, 4($sp)
794lw      $s0, 0($sp)
795addi    $sp, $sp, 12
796jr      $ra
797comp_forif22:
798c135:
799li      $v0, 1
800add     $s1, $s1, $v0
801c134:
802li      $v0, 1
803add     $s1, $s1, $v0
804c133:
805li      $a1, 2
806la      $v0, mod
807move    $a0, $s0
808jalr    $v0
809li      $a0, 0
810seq     $v0, $v0, $a0
811beq     $v0, $zero, comp_forif6
812c132:
813comp_forif6:
814c136:
815li      $v0, 1
816add     $s0, $s0, $v0
817j       comp_forif28
818# end comp_forif
819
820
821# begin comp_fir_basic
822comp_fir_basic141:
823addi    $sp, $sp, -4
824c16:
825li      $v0, 0
826c15:
827c14:
828li      $t3, 0
829comp_fir_basic64:
830li      $t0, 0
831c13:
832li      $a3, 3
833slt     $a3, $t3, $a3
834seq     $a3, $a3, $zero
835beq     $a3, $t0, comp_fir_basic58
836c0:
837addi    $sp, $sp, 4
838jr      $ra
839comp_fir_basic58:
840c11:
841li      $a3, 4
842mulo    $a3, $t3, $a3
843add     $a3, $a0, $a3
844lw      $t0, 0($a3)
845li      $a3, 4
846mulo    $a3, $zero, $a3
847add     $a3, $a2, $a3
848sw      $t0, 0($a3)
849c10:
850c9:
851li      $t0, 0
852comp_fir_basic47:
853li      $t1, 0
854c8:
855li      $a3, 3
856slt     $a3, $t0, $a3
857seq     $a3, $a3, $zero
858beq     $a3, $t1, comp_fir_basic41
859c5:
860c4:
861li      $t2, 2
862comp_fir_basic25:
863li      $t0, 0
864c3:
865sge     $a3, $t2, $zero
866seq     $a3, $a3, $zero
867beq     $a3, $t0, comp_fir_basic19
868c12:
869li      $a3, 1
870add     $t3, $t3, $a3
871j       comp_fir_basic64
872comp_fir_basic19:
873c1:
874li      $a3, 4
875mulo    $a3, $t2, $a3
876add     $a3, $a2, $a3
877lw      $t1, 0($a3)
878li      $a3, 1
879add     $t0, $t2, $a3
880li      $a3, 4
881mulo    $a3, $t0, $a3
882add     $a3, $a2, $a3
883sw      $t1, 0($a3)
884c2:
885li      $a3, 1
886sub     $t2, $t2, $a3
887j       comp_fir_basic25
888comp_fir_basic41:
889c6:
890li      $a3, 4
891mulo    $a3, $t0, $a3
892add     $a3, $a1, $a3
893lw      $t1, 0($a3)
894li      $a3, 4
895mulo    $a3, $t0, $a3
896add     $a3, $a2, $a3
897lw      $a3, 0($a3)
898mulo    $a3, $t1, $a3
899add     $v0, $v0, $a3
900c7:
901li      $a3, 1
902add     $t0, $t0, $a3
903j       comp_fir_basic47
904# end comp_fir_basic
905
906
907# begin comp_fir16
908comp_fir16373:
909addi    $sp, $sp, -96
910sw      $ra, 92($sp)
911sw      $s6, 88($sp)
912sw      $s5, 84($sp)
913sw      $s4, 80($sp)
914sw      $s3, 76($sp)
915sw      $s2, 72($sp)
916sw      $s1, 68($sp)
917sw      $s0, 64($sp)
918move    $s6, $a0
919move    $s5, $a1
920move    $s4, $a2
921move    $s3, $a3
922c49:
923li      $a1, 0
924move    $a0, $sp
925li      $v0, 4
926mulo    $v0, $zero, $v0
927add     $v0, $a0, $v0
928sw      $a1, 0($v0)
929c48:
930move    $a1, $sp
931li      $a0, 1
932li      $v0, 4
933mulo    $v0, $a0, $v0
934add     $v0, $a1, $v0
935sw      $zero, 0($v0)
936c47:
937move    $a1, $sp
938li      $a0, 2
939li      $v0, 4
940mulo    $v0, $a0, $v0
941add     $v0, $a1, $v0
942sw      $zero, 0($v0)
943c46:
944move    $a1, $sp
945li      $a0, 3
946li      $v0, 4
947mulo    $v0, $a0, $v0
948add     $v0, $a1, $v0
949sw      $zero, 0($v0)
950c45:
951move    $a1, $sp
952li      $a0, 4
953li      $v0, 4
954mulo    $v0, $a0, $v0
955add     $v0, $a1, $v0
956sw      $zero, 0($v0)
957c44:
958move    $a1, $sp
959li      $a0, 5
960li      $v0, 4
961mulo    $v0, $a0, $v0
962add     $v0, $a1, $v0
963sw      $zero, 0($v0)
964c43:
965move    $a1, $sp
966li      $a0, 6
967li      $v0, 4
968mulo    $v0, $a0, $v0
969add     $v0, $a1, $v0
970sw      $zero, 0($v0)
971c42:
972move    $a1, $sp
973li      $a0, 7
974li      $v0, 4
975mulo    $v0, $a0, $v0
976add     $v0, $a1, $v0
977sw      $zero, 0($v0)
978c41:
979move    $a1, $sp
980li      $a0, 8
981li      $v0, 4
982mulo    $v0, $a0, $v0
983add     $v0, $a1, $v0
984sw      $zero, 0($v0)
985c40:
986move    $a1, $sp
987li      $a0, 9
988li      $v0, 4
989mulo    $v0, $a0, $v0
990add     $v0, $a1, $v0
991sw      $zero, 0($v0)
992c39:
993move    $a1, $sp
994li      $a0, 10
995li      $v0, 4
996mulo    $v0, $a0, $v0
997add     $v0, $a1, $v0
998sw      $zero, 0($v0)
999c38:
1000move    $a1, $sp
1001li      $a0, 11
1002li      $v0, 4
1003mulo    $v0, $a0, $v0
1004add     $v0, $a1, $v0
1005sw      $zero, 0($v0)
1006c37:
1007move    $a1, $sp
1008li      $a0, 12
1009li      $v0, 4
1010mulo    $v0, $a0, $v0
1011add     $v0, $a1, $v0
1012sw      $zero, 0($v0)
1013c36:
1014move    $a1, $sp
1015li      $a0, 13
1016li      $v0, 4
1017mulo    $v0, $a0, $v0
1018add     $v0, $a1, $v0
1019sw      $zero, 0($v0)
1020c35:
1021move    $a1, $sp
1022li      $a0, 14
1023li      $v0, 4
1024mulo    $v0, $a0, $v0
1025add     $v0, $a1, $v0
1026sw      $zero, 0($v0)
1027c34:
1028move    $a1, $sp
1029li      $a0, 15
1030li      $v0, 4
1031mulo    $v0, $a0, $v0
1032add     $v0, $a1, $v0
1033sw      $zero, 0($v0)
1034c33:
1035li      $v0, 0
1036c32:
1037li      $s2, 0
1038c31:
1039c30:
1040li      $s1, 0
1041comp_fir1665:
1042li      $a1, 0
1043c29:
1044slt     $a0, $s1, $s3
1045seq     $a0, $a0, $zero
1046beq     $a0, $a1, comp_fir1660
1047c17:
1048li      $v0, 4
1049mulo    $v0, $zero, $v0
1050add     $v0, $sp, $v0
1051lw      $v0, 0($v0)
1052lw      $ra, 92($sp)
1053lw      $s6, 88($sp)
1054lw      $s5, 84($sp)
1055lw      $s4, 80($sp)
1056lw      $s3, 76($sp)
1057lw      $s2, 72($sp)
1058lw      $s1, 68($sp)
1059lw      $s0, 64($sp)
1060addi    $sp, $sp, 96
1061jr      $ra
1062comp_fir1660:
1063c27:
1064li      $a0, 4
1065mulo    $a0, $s1, $a0
1066add     $a0, $s6, $a0
1067lw      $a2, 0($a0)
1068move    $a1, $sp
1069li      $a0, 4
1070mulo    $a0, $v0, $a0
1071add     $a0, $a1, $a0
1072sw      $a2, 0($a0)
1073c26:
1074c25:
1075li      $s0, 0
1076comp_fir1649:
1077li      $a1, 0
1078c24:
1079li      $a0, 16
1080slt     $a0, $s0, $a0
1081seq     $a0, $a0, $zero
1082beq     $a0, $a1, comp_fir1643
1083c19:
1084li      $a0, 1
1085add     $a0, $v0, $a0
1086li      $a1, 16
1087la      $v0, mod
1088jalr    $v0
1089c18:
1090li      $a0, 4
1091mulo    $a0, $s1, $a0
1092add     $a0, $s4, $a0
1093sw      $s2, 0($a0)
1094c28:
1095li      $a0, 1
1096add     $s1, $s1, $a0
1097j       comp_fir1665
1098comp_fir1643:
1099c22:
1100move    $a1, $sp
1101li      $a0, 4
1102mulo    $a0, $v0, $a0
1103add     $a0, $a1, $a0
1104lw      $a1, 0($a0)
1105li      $a0, 4
1106mulo    $a0, $s0, $a0
1107add     $a0, $s5, $a0
1108lw      $a0, 0($a0)
1109mulo    $a2, $a1, $a0
1110li      $a1, 2
1111li      $a0, 16
1112xor     $a0, $a1, $a0
1113mulo    $a0, $a2, $a0
1114c21:
1115add     $s2, $s2, $a0
1116c20:
1117li      $a0, 1
1118add     $a0, $v0, $a0
1119li      $a1, 16
1120la      $v0, mod
1121jalr    $v0
1122c23:
1123li      $a0, 1
1124add     $s0, $s0, $a0
1125j       comp_fir1649
1126# end comp_fir16
1127
1128
1129# begin _main
1130main307:
1131addi    $sp, $sp, -68
1132sw      $ra, 64($sp)
1133c165:
1134li      $a1, 10
1135move    $a0, $sp
1136li      $v0, 4
1137mulo    $v0, $zero, $v0
1138add     $v0, $a0, $v0
1139sw      $a1, 0($v0)
1140c164:
1141li      $a2, 9
1142move    $a1, $sp
1143li      $a0, 1
1144li      $v0, 4
1145mulo    $v0, $a0, $v0
1146add     $v0, $a1, $v0
1147sw      $a2, 0($v0)
1148c163:
1149li      $a2, 8
1150move    $a1, $sp
1151li      $a0, 2
1152li      $v0, 4
1153mulo    $v0, $a0, $v0
1154add     $v0, $a1, $v0
1155sw      $a2, 0($v0)
1156c162:
1157li      $a2, 7
1158move    $a1, $sp
1159li      $a0, 3
1160li      $v0, 4
1161mulo    $v0, $a0, $v0
1162add     $v0, $a1, $v0
1163sw      $a2, 0($v0)
1164c161:
1165li      $a2, 6
1166move    $a1, $sp
1167li      $a0, 4
1168li      $v0, 4
1169mulo    $v0, $a0, $v0
1170add     $v0, $a1, $v0
1171sw      $a2, 0($v0)
1172c160:
1173move    $a1, $sp
1174li      $a0, 5
1175li      $v0, 4
1176mulo    $v0, $a0, $v0
1177add     $v0, $a1, $v0
1178sw      $zero, 0($v0)
1179c159:
1180li      $a2, 5
1181move    $a1, $sp
1182li      $a0, 6
1183li      $v0, 4
1184mulo    $v0, $a0, $v0
1185add     $v0, $a1, $v0
1186sw      $a2, 0($v0)
1187c158:
1188li      $a2, 4
1189move    $a1, $sp
1190li      $a0, 7
1191li      $v0, 4
1192mulo    $v0, $a0, $v0
1193add     $v0, $a1, $v0
1194sw      $a2, 0($v0)
1195c157:
1196li      $a2, 3
1197move    $a1, $sp
1198li      $a0, 8
1199li      $v0, 4
1200mulo    $v0, $a0, $v0
1201add     $v0, $a1, $v0
1202sw      $a2, 0($v0)
1203c156:
1204li      $a2, 2
1205move    $a1, $sp
1206li      $a0, 9
1207li      $v0, 4
1208mulo    $v0, $a0, $v0
1209add     $v0, $a1, $v0
1210sw      $a2, 0($v0)
1211c155:
1212move    $a1, $sp
1213li      $a0, 10
1214li      $v0, 4
1215mulo    $v0, $a0, $v0
1216add     $v0, $a1, $v0
1217sw      $zero, 0($v0)
1218c154:
1219move    $a1, $sp
1220li      $a0, 11
1221li      $v0, 4
1222mulo    $v0, $a0, $v0
1223add     $v0, $a1, $v0
1224sw      $zero, 0($v0)
1225c153:
1226move    $a1, $sp
1227li      $a0, 12
1228li      $v0, 4
1229mulo    $v0, $a0, $v0
1230add     $v0, $a1, $v0
1231sw      $zero, 0($v0)
1232c152:
1233move    $a1, $sp
1234li      $a0, 13
1235li      $v0, 4
1236mulo    $v0, $a0, $v0
1237add     $v0, $a1, $v0
1238sw      $zero, 0($v0)
1239c151:
1240move    $a1, $sp
1241li      $a0, 14
1242li      $v0, 4
1243mulo    $v0, $a0, $v0
1244add     $v0, $a1, $v0
1245sw      $zero, 0($v0)
1246c150:
1247move    $a1, $sp
1248li      $a0, 15
1249li      $v0, 4
1250mulo    $v0, $a0, $v0
1251add     $v0, $a1, $v0
1252sw      $zero, 0($v0)
1253c149:
1254move    $a0, $sp
1255move    $a1, $sp
1256move    $a2, $sp
1257li      $a3, 10
1258li      $t0, 10
1259la      $v0, comp_fir_basic141
1260sw      $t0, -4($sp)
1261jalr    $v0
1262c148:
1263move    $a0, $sp
1264move    $a1, $sp
1265move    $a2, $sp
1266li      $a3, 16
1267la      $v0, comp_fir16373
1268jalr    $v0
1269c147:
1270li      $a0, 4
1271li      $a1, 1
1272li      $a2, 1
1273la      $v0, comp_ifFor45
1274jalr    $v0
1275c146:
1276move    $a0, $sp
1277li      $a1, 9
1278li      $a2, 3
1279la      $v0, comp_total410
1280jalr    $v0
1281c145:
1282move    $a0, $sp
1283li      $a1, 10
1284la      $v0, comp_tri123
1285jalr    $v0
1286c144:
1287move    $a0, $sp
1288move    $a1, $sp
1289li      $a2, 10
1290li      $a3, 10
1291la      $v0, comp_forif2153
1292jalr    $v0
1293c143:
1294la      $v0, comp_forif65
1295jalr    $v0
1296c142:
1297lw      $ra, 64($sp)
1298addi    $sp, $sp, 68
1299jr      $ra
1300# end _main
Note: See TracBrowser for help on using the repository browser.