source: Deliverables/D2.2/8051/tests/clight/ifthenelse.ERTL.expected @ 486

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

Deliverable D2.2

File size: 37.4 KB
RevLine 
[486]1program
2
3globals 0
4
5procedure if_ual(3)
6var %0, %1, %2, %3, %4, %5, %6,
7    %7, %8, %9, %10, %11, %12, %13,
8    %14, %15, %16, %17, %18, %19, %20,
9    %21, %22, %23, %24, %25, %26, %27,
10    %28, %29, %30, %31, %32, %33
11entry if_ual84
12if_ual84: newframe           --> if_ual83         
13if_ual83: move  %33, $ra     --> if_ual82         
14if_ual82: move  %32, $s7     --> if_ual81         
15if_ual81: move  %31, $s6     --> if_ual80         
16if_ual80: move  %30, $s5     --> if_ual79         
17if_ual79: move  %29, $s4     --> if_ual78         
18if_ual78: move  %28, $s3     --> if_ual77         
19if_ual77: move  %27, $s2     --> if_ual76         
20if_ual76: move  %26, $s1     --> if_ual75         
21if_ual75: move  %25, $s0     --> if_ual74         
22if_ual74: move  %0, $a0      --> if_ual73         
23if_ual73: move  %1, $a1      --> if_ual72         
24if_ual72: move  %2, $a2      --> if_ual71         
25if_ual71: li    %3, 0        --> if_ual70         
26if_ual70: li    %5, 0        --> if_ual69         
27if_ual69: li    %6, 0        --> if_ual68         
28if_ual68: li    %7, 0        --> if_ual67         
29if_ual67: li    %8, 0        --> if_ual66         
30if_ual66: li    %9, 0        --> if_ual65         
31if_ual65: li    %10, 0       --> if_ual64         
32if_ual64: li    %11, 0       --> if_ual63         
33if_ual63: li    %12, 0       --> if_ual62         
34if_ual62: li    %13, 0       --> if_ual61         
35if_ual61: li    %14, 0       --> if_ual60         
36if_ual60: li    %15, 0       --> if_ual59         
37if_ual59: li    %16, 0       --> if_ual58         
38if_ual58: li    %17, 0       --> if_ual57         
39if_ual57: li    %18, 0       --> if_ual56         
40if_ual56: li    %19, 0       --> if_ual55         
41if_ual55: li    %20, 0       --> if_ual54         
42if_ual54: li    %21, 0       --> if_ual53         
43if_ual53: li    %22, 0       --> if_ual52         
44if_ual52: li    %23, 0       --> if_ual51         
45if_ual51: li    %24, 0       --> if_ual50         
46if_ual50: emit c74           --> if_ual49         
47if_ual49: li    %23, 0       --> if_ual48         
48if_ual48: li    %24, 0       --> if_ual47         
49if_ual47: seq   %22, %0, %24 --> if_ual46         
50if_ual46: beq   %22, %23     --> if_ual43, if_ual45
51if_ual45: emit c73           --> if_ual44         
52if_ual44: addu  %3, %1, %2   --> if_ual2           
53if_ual2 : emit c62           --> if_ual1           
54if_ual1 : move  %4, %3       --> if_ual0           
55if_ual0 : j                  --> if_ual96         
56if_ual96: move  $v0, %4      --> if_ual95         
57if_ual95: move  $ra, %33     --> if_ual94         
58if_ual94: move  $s7, %32     --> if_ual93         
59if_ual93: move  $s6, %31     --> if_ual92         
60if_ual92: move  $s5, %30     --> if_ual91         
61if_ual91: move  $s4, %29     --> if_ual90         
62if_ual90: move  $s3, %28     --> if_ual89         
63if_ual89: move  $s2, %27     --> if_ual88         
64if_ual88: move  $s1, %26     --> if_ual87         
65if_ual87: move  $s0, %25     --> if_ual86         
66if_ual86: delframe           --> if_ual85         
67if_ual85: jr    $ra          (xmits $v0)           
68if_ual43: emit c72           --> if_ual42         
69if_ual42: li    %20, 0       --> if_ual41         
70if_ual41: li    %21, 1       --> if_ual40         
71if_ual40: seq   %19, %0, %21 --> if_ual39         
72if_ual39: beq   %19, %20     --> if_ual36, if_ual38
73if_ual38: emit c71           --> if_ual37         
74if_ual37: subu  %3, %1, %2   --> if_ual2           
75if_ual36: emit c70           --> if_ual35         
76if_ual35: li    %17, 0       --> if_ual34         
77if_ual34: li    %18, 2       --> if_ual33         
78if_ual33: seq   %16, %0, %18 --> if_ual32         
79if_ual32: beq   %16, %17     --> if_ual19, if_ual31
80if_ual31: emit c69           --> if_ual30         
81if_ual30: li    %15, 0       --> if_ual29         
82if_ual29: emit c68           --> if_ual28         
83if_ual28: move  %14, %1      --> if_ual27         
84if_ual27: beq   %14, %15     --> if_ual20, if_ual26
85if_ual26: li    %13, 0       --> if_ual25         
86if_ual25: emit c67           --> if_ual24         
87if_ual24: move  %12, %2      --> if_ual23         
88if_ual23: beq   %12, %13     --> if_ual21, if_ual22
89if_ual22: li    %3, 1        --> if_ual2           
90if_ual21: li    %3, 0        --> if_ual2           
91if_ual20: li    %3, 0        --> if_ual2           
92if_ual19: emit c66           --> if_ual18         
93if_ual18: li    %10, 0       --> if_ual17         
94if_ual17: li    %11, 3       --> if_ual16         
95if_ual16: seq   %9, %0, %11  --> if_ual15         
96if_ual15: beq   %9, %10      --> if_ual2, if_ual14
97if_ual14: emit c65           --> if_ual13         
98if_ual13: li    %8, 0        --> if_ual12         
99if_ual12: emit c64           --> if_ual11         
100if_ual11: move  %7, %1       --> if_ual10         
101if_ual10: beq   %7, %8       --> if_ual8, if_ual9 
102if_ual9 : li    %3, 1        --> if_ual2           
103if_ual8 : li    %6, 0        --> if_ual7           
104if_ual7 : emit c63           --> if_ual6           
105if_ual6 : move  %5, %2       --> if_ual5           
106if_ual5 : beq   %5, %6       --> if_ual3, if_ual4 
107if_ual4 : li    %3, 1        --> if_ual2           
108if_ual3 : li    %3, 0        --> if_ual2           
109
110procedure if_test(4)
111var %0, %1, %2, %3, %4, %5, %6,
112    %7, %8, %9, %10, %11, %12, %13,
113    %14, %15, %16, %17, %18, %19, %20,
114    %21, %22, %23
115entry if_test55
116if_test55: newframe          --> if_test54           
117if_test54: move  %23, $ra    --> if_test53           
118if_test53: move  %22, $s7    --> if_test52           
119if_test52: move  %21, $s6    --> if_test51           
120if_test51: move  %20, $s5    --> if_test50           
121if_test50: move  %19, $s4    --> if_test49           
122if_test49: move  %18, $s3    --> if_test48           
123if_test48: move  %17, $s2    --> if_test47           
124if_test47: move  %16, $s1    --> if_test46           
125if_test46: move  %15, $s0    --> if_test45           
126if_test45: move  %0, $a0     --> if_test44           
127if_test44: move  %1, $a1     --> if_test43           
128if_test43: move  %2, $a2     --> if_test42           
129if_test42: move  %3, $a3     --> if_test41           
130if_test41: li    %4, 0       --> if_test40           
131if_test40: li    %5, 0       --> if_test39           
132if_test39: li    %6, 0       --> if_test38           
133if_test38: li    %7, 0       --> if_test37           
134if_test37: li    %8, 0       --> if_test36           
135if_test36: li    %10, 0      --> if_test35           
136if_test35: li    %11, 0      --> if_test34           
137if_test34: li    %12, 0      --> if_test33           
138if_test33: li    %13, 0      --> if_test32           
139if_test32: li    %14, 0      --> if_test31           
140if_test31: emit c61          --> if_test30           
141if_test30: li    %4, 0       --> if_test29           
142if_test29: emit c60          --> if_test28           
143if_test28: li    %5, 0       --> if_test27           
144if_test27: emit c59          --> if_test26           
145if_test26: li    %6, 0       --> if_test25           
146if_test25: emit c58          --> if_test24           
147if_test24: li    %7, 0       --> if_test23           
148if_test23: emit c57          --> if_test22           
149if_test22: li    %8, 0       --> if_test21           
150if_test21: emit c56          --> if_test20           
151if_test20: li    %14, 0      --> if_test19           
152if_test19: slt   %13, %0, %1 --> if_test18           
153if_test18: beq   %13, %14    --> if_test15, if_test17
154if_test17: emit c55          --> if_test16           
155if_test16: addu  %4, %0, %1  --> if_test15           
156if_test15: emit c54          --> if_test14           
157if_test14: li    %12, 0      --> if_test13           
158if_test13: slt   %11, %2, %3 --> if_test12           
159if_test12: beq   %11, %12    --> if_test7, if_test11
160if_test11: emit c53          --> if_test10           
161if_test10: addu  %8, %2, %3  --> if_test9           
162if_test9 : emit c52          --> if_test8           
163if_test8 : addu  %7, %8, %2  --> if_test7           
164if_test7 : emit c51          --> if_test6           
165if_test6 : li    %10, 1      --> if_test5           
166if_test5 : addu  %5, %4, %10 --> if_test4           
167if_test4 : emit c50          --> if_test3           
168if_test3 : addu  %6, %4, %7  --> if_test2           
169if_test2 : emit c49          --> if_test1           
170if_test1 : move  %9, %4      --> if_test0           
171if_test0 : j                 --> if_test67           
172if_test67: move  $v0, %9     --> if_test66           
173if_test66: move  $ra, %23    --> if_test65           
174if_test65: move  $s7, %22    --> if_test64           
175if_test64: move  $s6, %21    --> if_test63           
176if_test63: move  $s5, %20    --> if_test62           
177if_test62: move  $s4, %19    --> if_test61           
178if_test61: move  $s3, %18    --> if_test60           
179if_test60: move  $s2, %17    --> if_test59           
180if_test59: move  $s1, %16    --> if_test58           
181if_test58: move  $s0, %15    --> if_test57           
182if_test57: delframe          --> if_test56           
183if_test56: jr    $ra         (xmits $v0)             
184
185procedure if_sansElse(2)
186var %0, %1, %2, %3, %4, %5, %6,
187    %7, %8, %9, %10, %11, %12, %13,
188    %14
189entry if_sansElse25
190if_sansElse25: newframe         --> if_sansElse24             
191if_sansElse24: move  %14, $ra   --> if_sansElse23             
192if_sansElse23: move  %13, $s7   --> if_sansElse22             
193if_sansElse22: move  %12, $s6   --> if_sansElse21             
194if_sansElse21: move  %11, $s5   --> if_sansElse20             
195if_sansElse20: move  %10, $s4   --> if_sansElse19             
196if_sansElse19: move  %9, $s3    --> if_sansElse18             
197if_sansElse18: move  %8, $s2    --> if_sansElse17             
198if_sansElse17: move  %7, $s1    --> if_sansElse16             
199if_sansElse16: move  %6, $s0    --> if_sansElse15             
200if_sansElse15: move  %0, $a0    --> if_sansElse14             
201if_sansElse14: move  %1, $a1    --> if_sansElse13             
202if_sansElse13: li    %2, 0      --> if_sansElse12             
203if_sansElse12: li    %4, 0      --> if_sansElse11             
204if_sansElse11: li    %5, 0      --> if_sansElse10             
205if_sansElse10: emit c48         --> if_sansElse9             
206if_sansElse9 : li    %2, 0      --> if_sansElse8             
207if_sansElse8 : emit c47         --> if_sansElse7             
208if_sansElse7 : li    %5, 0      --> if_sansElse6             
209if_sansElse6 : slt   %4, %0, %1 --> if_sansElse5             
210if_sansElse5 : beq   %4, %5     --> if_sansElse2, if_sansElse4
211if_sansElse4 : emit c46         --> if_sansElse3             
212if_sansElse3 : move  %2, %0     --> if_sansElse2             
213if_sansElse2 : emit c45         --> if_sansElse1             
214if_sansElse1 : move  %3, %2     --> if_sansElse0             
215if_sansElse0 : j                --> if_sansElse37             
216if_sansElse37: move  $v0, %3    --> if_sansElse36             
217if_sansElse36: move  $ra, %14   --> if_sansElse35             
218if_sansElse35: move  $s7, %13   --> if_sansElse34             
219if_sansElse34: move  $s6, %12   --> if_sansElse33             
220if_sansElse33: move  $s5, %11   --> if_sansElse32             
221if_sansElse32: move  $s4, %10   --> if_sansElse31             
222if_sansElse31: move  $s3, %9    --> if_sansElse30             
223if_sansElse30: move  $s2, %8    --> if_sansElse29             
224if_sansElse29: move  $s1, %7    --> if_sansElse28             
225if_sansElse28: move  $s0, %6    --> if_sansElse27             
226if_sansElse27: delframe         --> if_sansElse26             
227if_sansElse26: jr    $ra        (xmits $v0)                   
228
229procedure if_prog(2)
230var %0, %1, %2, %3, %4, %5, %6,
231    %7, %8, %9, %10, %11, %12, %13,
232    %14, %15, %16
233entry if_prog30
234if_prog30: newframe         --> if_prog29         
235if_prog29: move  %16, $ra   --> if_prog28         
236if_prog28: move  %15, $s7   --> if_prog27         
237if_prog27: move  %14, $s6   --> if_prog26         
238if_prog26: move  %13, $s5   --> if_prog25         
239if_prog25: move  %12, $s4   --> if_prog24         
240if_prog24: move  %11, $s3   --> if_prog23         
241if_prog23: move  %10, $s2   --> if_prog22         
242if_prog22: move  %9, $s1    --> if_prog21         
243if_prog21: move  %8, $s0    --> if_prog20         
244if_prog20: move  %0, $a0    --> if_prog19         
245if_prog19: move  %1, $a1    --> if_prog18         
246if_prog18: li    %2, 0      --> if_prog17         
247if_prog17: li    %3, 0      --> if_prog16         
248if_prog16: li    %5, 0      --> if_prog15         
249if_prog15: li    %6, 0      --> if_prog14         
250if_prog14: li    %7, 0      --> if_prog13         
251if_prog13: emit c44         --> if_prog12         
252if_prog12: addu  %2, %1, %0 --> if_prog11         
253if_prog11: emit c43         --> if_prog10         
254if_prog10: li    %6, 0      --> if_prog9         
255if_prog9 : li    %7, 0      --> if_prog8         
256if_prog8 : slt   %5, %2, %7 --> if_prog7         
257if_prog7 : beq   %5, %6     --> if_prog4, if_prog6
258if_prog6 : emit c42         --> if_prog5         
259if_prog5 : li    %3, 2      --> if_prog2         
260if_prog2 : emit c40         --> if_prog1         
261if_prog1 : move  %4, %3     --> if_prog0         
262if_prog0 : j                --> if_prog42         
263if_prog42: move  $v0, %4    --> if_prog41         
264if_prog41: move  $ra, %16   --> if_prog40         
265if_prog40: move  $s7, %15   --> if_prog39         
266if_prog39: move  $s6, %14   --> if_prog38         
267if_prog38: move  $s5, %13   --> if_prog37         
268if_prog37: move  $s4, %12   --> if_prog36         
269if_prog36: move  $s3, %11   --> if_prog35         
270if_prog35: move  $s2, %10   --> if_prog34         
271if_prog34: move  $s1, %9    --> if_prog33         
272if_prog33: move  $s0, %8    --> if_prog32         
273if_prog32: delframe         --> if_prog31         
274if_prog31: jr    $ra        (xmits $v0)           
275if_prog4 : emit c41         --> if_prog3         
276if_prog3 : li    %3, 3      --> if_prog2         
277
278procedure if_min(2)
279var %0, %1, %2, %3, %4, %5, %6,
280    %7, %8, %9, %10, %11, %12, %13,
281    %14
282entry if_min25
283if_min25: newframe         --> if_min24       
284if_min24: move  %14, $ra   --> if_min23       
285if_min23: move  %13, $s7   --> if_min22       
286if_min22: move  %12, $s6   --> if_min21       
287if_min21: move  %11, $s5   --> if_min20       
288if_min20: move  %10, $s4   --> if_min19       
289if_min19: move  %9, $s3    --> if_min18       
290if_min18: move  %8, $s2    --> if_min17       
291if_min17: move  %7, $s1    --> if_min16       
292if_min16: move  %6, $s0    --> if_min15       
293if_min15: move  %0, $a0    --> if_min14       
294if_min14: move  %1, $a1    --> if_min13       
295if_min13: li    %2, 0      --> if_min12       
296if_min12: li    %4, 0      --> if_min11       
297if_min11: li    %5, 0      --> if_min10       
298if_min10: emit c39         --> if_min9         
299if_min9 : li    %5, 0      --> if_min8         
300if_min8 : sgt   %4, %0, %1 --> if_min7         
301if_min7 : beq   %4, %5     --> if_min4, if_min6
302if_min6 : emit c38         --> if_min5         
303if_min5 : move  %2, %1     --> if_min2         
304if_min2 : emit c36         --> if_min1         
305if_min1 : move  %3, %2     --> if_min0         
306if_min0 : j                --> if_min37       
307if_min37: move  $v0, %3    --> if_min36       
308if_min36: move  $ra, %14   --> if_min35       
309if_min35: move  $s7, %13   --> if_min34       
310if_min34: move  $s6, %12   --> if_min33       
311if_min33: move  $s5, %11   --> if_min32       
312if_min32: move  $s4, %10   --> if_min31       
313if_min31: move  $s3, %9    --> if_min30       
314if_min30: move  $s2, %8    --> if_min29       
315if_min29: move  $s1, %7    --> if_min28       
316if_min28: move  $s0, %6    --> if_min27       
317if_min27: delframe         --> if_min26       
318if_min26: jr    $ra        (xmits $v0)         
319if_min4 : emit c37         --> if_min3         
320if_min3 : move  %2, %0     --> if_min2         
321
322procedure if_jian(9)
323var %0, %1, %2, %3, %4, %5, %6,
324    %7, %8, %9, %10, %11, %12, %13,
325    %14, %15, %16, %17, %18, %19, %20,
326    %21, %22, %23, %24, %25, %26, %27,
327    %28, %29, %30, %31, %32, %33, %34,
328    %35, %36, %37, %38, %39, %40, %41
329entry if_jian92
330if_jian92 : newframe            --> if_jian91           
331if_jian91 : move  %41, $ra      --> if_jian90           
332if_jian90 : move  %40, $s7      --> if_jian89           
333if_jian89 : move  %39, $s6      --> if_jian88           
334if_jian88 : move  %38, $s5      --> if_jian87           
335if_jian87 : move  %37, $s4      --> if_jian86           
336if_jian86 : move  %36, $s3      --> if_jian85           
337if_jian85 : move  %35, $s2      --> if_jian84           
338if_jian84 : move  %34, $s1      --> if_jian83           
339if_jian83 : move  %33, $s0      --> if_jian82           
340if_jian82 : move  %0, $a0       --> if_jian81           
341if_jian81 : move  %1, $a1       --> if_jian80           
342if_jian80 : move  %2, $a2       --> if_jian79           
343if_jian79 : move  %3, $a3       --> if_jian78           
344if_jian78 : gets  %4, in(16)    --> if_jian77           
345if_jian77 : gets  %5, in(12)    --> if_jian76           
346if_jian76 : gets  %6, in(8)     --> if_jian75           
347if_jian75 : gets  %7, in(4)     --> if_jian74           
348if_jian74 : gets  %8, in(0)     --> if_jian73           
349if_jian73 : li    %9, 0         --> if_jian72           
350if_jian72 : li    %10, 0        --> if_jian71           
351if_jian71 : li    %11, 0        --> if_jian70           
352if_jian70 : li    %12, 0        --> if_jian69           
353if_jian69 : li    %13, 0        --> if_jian68           
354if_jian68 : li    %14, 0        --> if_jian67           
355if_jian67 : li    %15, 0        --> if_jian66           
356if_jian66 : li    %17, 0        --> if_jian65           
357if_jian65 : li    %18, 0        --> if_jian64           
358if_jian64 : li    %19, 0        --> if_jian63           
359if_jian63 : li    %20, 0        --> if_jian62           
360if_jian62 : li    %21, 0        --> if_jian61           
361if_jian61 : li    %22, 0        --> if_jian60           
362if_jian60 : li    %23, 0        --> if_jian59           
363if_jian59 : li    %24, 0        --> if_jian58           
364if_jian58 : li    %25, 0        --> if_jian57           
365if_jian57 : li    %26, 0        --> if_jian56           
366if_jian56 : li    %27, 0        --> if_jian55           
367if_jian55 : li    %28, 0        --> if_jian54           
368if_jian54 : li    %29, 0        --> if_jian53           
369if_jian53 : li    %30, 0        --> if_jian52           
370if_jian52 : li    %31, 0        --> if_jian51           
371if_jian51 : li    %32, 0        --> if_jian48           
372if_jian48 : emit c15            --> if_jian47           
373if_jian47 : addu  %30, %0, %1   --> if_jian46           
374if_jian46 : slt   %11, %30, %2  --> if_jian45           
375if_jian45 : emit c14            --> if_jian44           
376if_jian44 : addu  %12, %3, %4   --> if_jian43           
377if_jian43 : emit c13            --> if_jian42           
378if_jian42 : li    %29, 1        --> if_jian41           
379if_jian41 : addu  %13, %2, %29  --> if_jian40           
380if_jian40 : emit c12            --> if_jian39           
381if_jian39 : li    %27, 0        --> if_jian38           
382if_jian38 : li    %28, 1        --> if_jian37           
383if_jian37 : seq   %26, %8, %28  --> if_jian36           
384if_jian36 : beq   %26, %27      --> if_jian8, if_jian35
385if_jian35 : emit c11            --> if_jian34           
386if_jian34 : li    %25, 0        --> if_jian33           
387if_jian33 : beq   %11, %25      --> if_jian30, if_jian32
388if_jian32 : emit c10            --> if_jian31           
389if_jian31 : addu  %9, %13, %3   --> if_jian24           
390if_jian24 : emit c7             --> if_jian23           
391if_jian23 : li    %18, 0        --> if_jian22           
392if_jian22 : li    %22, 0        --> if_jian21           
393if_jian21 : emit c6             --> if_jian20           
394if_jian20 : li    %31, 0        --> if_jian49           
395if_jian49 : seq   %21, %11, %31 --> if_jian19           
396if_jian19 : beq   %21, %22      --> if_jian12, if_jian18
397if_jian18 : li    %20, 0        --> if_jian17           
398if_jian17 : emit c5             --> if_jian16           
399if_jian16 : move  %19, %7       --> if_jian15           
400if_jian15 : beq   %19, %20      --> if_jian13, if_jian14
401if_jian14 : li    %17, 1        --> if_jian11           
402if_jian11 : beq   %17, %18      --> if_jian2, if_jian10
403if_jian10 : emit c4             --> if_jian9           
404if_jian9  : addu  %10, %12, %4  --> if_jian2           
405if_jian2  : emit c0             --> if_jian1           
406if_jian1  : move  %16, %9       --> if_jian0           
407if_jian0  : j                   --> if_jian104         
408if_jian104: move  $v0, %16      --> if_jian103         
409if_jian103: move  $ra, %41      --> if_jian102         
410if_jian102: move  $s7, %40      --> if_jian101         
411if_jian101: move  $s6, %39      --> if_jian100         
412if_jian100: move  $s5, %38      --> if_jian99           
413if_jian99 : move  $s4, %37      --> if_jian98           
414if_jian98 : move  $s3, %36      --> if_jian97           
415if_jian97 : move  $s2, %35      --> if_jian96           
416if_jian96 : move  $s1, %34      --> if_jian95           
417if_jian95 : move  $s0, %33      --> if_jian94           
418if_jian94 : delframe            --> if_jian93           
419if_jian93 : jr    $ra           (xmits $v0)             
420if_jian13 : li    %17, 0        --> if_jian11           
421if_jian12 : li    %17, 0        --> if_jian11           
422if_jian30 : emit c9             --> if_jian29           
423if_jian29 : li    %24, 0        --> if_jian28           
424if_jian28 : li    %32, 0        --> if_jian50           
425if_jian50 : seq   %23, %7, %32  --> if_jian27           
426if_jian27 : beq   %23, %24      --> if_jian24, if_jian26
427if_jian26 : emit c8             --> if_jian25           
428if_jian25 : addu  %9, %12, %3   --> if_jian24           
429if_jian8  : emit c3             --> if_jian7           
430if_jian7  : addu  %14, %13, %4  --> if_jian6           
431if_jian6  : emit c2             --> if_jian5           
432if_jian5  : addu  %15, %14, %5  --> if_jian4           
433if_jian4  : emit c1             --> if_jian3           
434if_jian3  : addu  %9, %15, %6   --> if_jian2           
435
436procedure if_imbriq2(3)
437var %0, %1, %2, %3, %4, %5, %6,
438    %7, %8, %9, %10, %11, %12, %13,
439    %14, %15, %16, %17
440entry if_imbriq234
441if_imbriq234: newframe         --> if_imbriq233             
442if_imbriq233: move  %17, $ra   --> if_imbriq232             
443if_imbriq232: move  %16, $s7   --> if_imbriq231             
444if_imbriq231: move  %15, $s6   --> if_imbriq230             
445if_imbriq230: move  %14, $s5   --> if_imbriq229             
446if_imbriq229: move  %13, $s4   --> if_imbriq228             
447if_imbriq228: move  %12, $s3   --> if_imbriq227             
448if_imbriq227: move  %11, $s2   --> if_imbriq226             
449if_imbriq226: move  %10, $s1   --> if_imbriq225             
450if_imbriq225: move  %9, $s0    --> if_imbriq224             
451if_imbriq224: move  %0, $a0    --> if_imbriq223             
452if_imbriq223: move  %1, $a1    --> if_imbriq222             
453if_imbriq222: move  %2, $a2    --> if_imbriq221             
454if_imbriq221: li    %3, 0      --> if_imbriq220             
455if_imbriq220: li    %5, 0      --> if_imbriq219             
456if_imbriq219: li    %6, 0      --> if_imbriq218             
457if_imbriq218: li    %7, 0      --> if_imbriq217             
458if_imbriq217: li    %8, 0      --> if_imbriq216             
459if_imbriq216: emit c35         --> if_imbriq215             
460if_imbriq215: li    %8, 0      --> if_imbriq214             
461if_imbriq214: slt   %7, %0, %1 --> if_imbriq213             
462if_imbriq213: beq   %7, %8     --> if_imbriq24, if_imbriq212
463if_imbriq212: emit c34         --> if_imbriq211             
464if_imbriq211: li    %6, 0      --> if_imbriq210             
465if_imbriq210: slt   %5, %1, %2 --> if_imbriq29             
466if_imbriq29 : beq   %5, %6     --> if_imbriq26, if_imbriq28
467if_imbriq28 : emit c33         --> if_imbriq27             
468if_imbriq27 : move  %3, %1     --> if_imbriq22             
469if_imbriq22 : emit c30         --> if_imbriq21             
470if_imbriq21 : move  %4, %3     --> if_imbriq20             
471if_imbriq20 : j                --> if_imbriq246             
472if_imbriq246: move  $v0, %4    --> if_imbriq245             
473if_imbriq245: move  $ra, %17   --> if_imbriq244             
474if_imbriq244: move  $s7, %16   --> if_imbriq243             
475if_imbriq243: move  $s6, %15   --> if_imbriq242             
476if_imbriq242: move  $s5, %14   --> if_imbriq241             
477if_imbriq241: move  $s4, %13   --> if_imbriq240             
478if_imbriq240: move  $s3, %12   --> if_imbriq239             
479if_imbriq239: move  $s2, %11   --> if_imbriq238             
480if_imbriq238: move  $s1, %10   --> if_imbriq237             
481if_imbriq237: move  $s0, %9    --> if_imbriq236             
482if_imbriq236: delframe         --> if_imbriq235             
483if_imbriq235: jr    $ra        (xmits $v0)                 
484if_imbriq26 : emit c32         --> if_imbriq25             
485if_imbriq25 : li    %3, 47     --> if_imbriq22             
486if_imbriq24 : emit c31         --> if_imbriq23             
487if_imbriq23 : move  %3, %0     --> if_imbriq22             
488
489procedure if_imbriq1(3)
490var %0, %1, %2, %3, %4, %5, %6,
491    %7, %8, %9, %10, %11, %12, %13,
492    %14, %15, %16, %17
493entry if_imbriq134
494if_imbriq134: newframe         --> if_imbriq133             
495if_imbriq133: move  %17, $ra   --> if_imbriq132             
496if_imbriq132: move  %16, $s7   --> if_imbriq131             
497if_imbriq131: move  %15, $s6   --> if_imbriq130             
498if_imbriq130: move  %14, $s5   --> if_imbriq129             
499if_imbriq129: move  %13, $s4   --> if_imbriq128             
500if_imbriq128: move  %12, $s3   --> if_imbriq127             
501if_imbriq127: move  %11, $s2   --> if_imbriq126             
502if_imbriq126: move  %10, $s1   --> if_imbriq125             
503if_imbriq125: move  %9, $s0    --> if_imbriq124             
504if_imbriq124: move  %0, $a0    --> if_imbriq123             
505if_imbriq123: move  %1, $a1    --> if_imbriq122             
506if_imbriq122: move  %2, $a2    --> if_imbriq121             
507if_imbriq121: li    %3, 0      --> if_imbriq120             
508if_imbriq120: li    %5, 0      --> if_imbriq119             
509if_imbriq119: li    %6, 0      --> if_imbriq118             
510if_imbriq118: li    %7, 0      --> if_imbriq117             
511if_imbriq117: li    %8, 0      --> if_imbriq116             
512if_imbriq116: emit c29         --> if_imbriq115             
513if_imbriq115: li    %8, 0      --> if_imbriq114             
514if_imbriq114: slt   %7, %0, %1 --> if_imbriq113             
515if_imbriq113: beq   %7, %8     --> if_imbriq14, if_imbriq112
516if_imbriq112: emit c28         --> if_imbriq111             
517if_imbriq111: li    %6, 0      --> if_imbriq110             
518if_imbriq110: slt   %5, %1, %2 --> if_imbriq19             
519if_imbriq19 : beq   %5, %6     --> if_imbriq16, if_imbriq18
520if_imbriq18 : emit c27         --> if_imbriq17             
521if_imbriq17 : move  %3, %1     --> if_imbriq12             
522if_imbriq12 : emit c24         --> if_imbriq11             
523if_imbriq11 : move  %4, %3     --> if_imbriq10             
524if_imbriq10 : j                --> if_imbriq146             
525if_imbriq146: move  $v0, %4    --> if_imbriq145             
526if_imbriq145: move  $ra, %17   --> if_imbriq144             
527if_imbriq144: move  $s7, %16   --> if_imbriq143             
528if_imbriq143: move  $s6, %15   --> if_imbriq142             
529if_imbriq142: move  $s5, %14   --> if_imbriq141             
530if_imbriq141: move  $s4, %13   --> if_imbriq140             
531if_imbriq140: move  $s3, %12   --> if_imbriq139             
532if_imbriq139: move  $s2, %11   --> if_imbriq138             
533if_imbriq138: move  $s1, %10   --> if_imbriq137             
534if_imbriq137: move  $s0, %9    --> if_imbriq136             
535if_imbriq136: delframe         --> if_imbriq135             
536if_imbriq135: jr    $ra        (xmits $v0)                 
537if_imbriq16 : emit c26         --> if_imbriq15             
538if_imbriq15 : move  %3, %2     --> if_imbriq12             
539if_imbriq14 : emit c25         --> if_imbriq13             
540if_imbriq13 : move  %3, %0     --> if_imbriq12             
541
542procedure if_exSimple(2)
543var %0, %1, %2, %3, %4, %5, %6,
544    %7, %8, %9, %10, %11, %12, %13,
545    %14, %15, %16, %17, %18
546entry if_exSimple39
547if_exSimple39: newframe         --> if_exSimple38             
548if_exSimple38: move  %18, $ra   --> if_exSimple37             
549if_exSimple37: move  %17, $s7   --> if_exSimple36             
550if_exSimple36: move  %16, $s6   --> if_exSimple35             
551if_exSimple35: move  %15, $s5   --> if_exSimple34             
552if_exSimple34: move  %14, $s4   --> if_exSimple33             
553if_exSimple33: move  %13, $s3   --> if_exSimple32             
554if_exSimple32: move  %12, $s2   --> if_exSimple31             
555if_exSimple31: move  %11, $s1   --> if_exSimple30             
556if_exSimple30: move  %10, $s0   --> if_exSimple29             
557if_exSimple29: move  %0, $a0    --> if_exSimple28             
558if_exSimple28: move  %1, $a1    --> if_exSimple27             
559if_exSimple27: li    %2, 0      --> if_exSimple26             
560if_exSimple26: li    %3, 0      --> if_exSimple25             
561if_exSimple25: li    %4, 0      --> if_exSimple24             
562if_exSimple24: li    %6, 0      --> if_exSimple23             
563if_exSimple23: li    %7, 0      --> if_exSimple22             
564if_exSimple22: li    %8, 0      --> if_exSimple21             
565if_exSimple21: li    %9, 0      --> if_exSimple20             
566if_exSimple20: emit c23         --> if_exSimple19             
567if_exSimple19: li    %9, 0      --> if_exSimple18             
568if_exSimple18: slt   %8, %0, %1 --> if_exSimple17             
569if_exSimple17: beq   %8, %9     --> if_exSimple9, if_exSimple16
570if_exSimple16: emit c22         --> if_exSimple15             
571if_exSimple15: addu  %3, %0, %1 --> if_exSimple14             
572if_exSimple14: emit c21         --> if_exSimple13             
573if_exSimple13: li    %7, 2      --> if_exSimple12             
574if_exSimple12: mul   %3, %7, %3 --> if_exSimple11             
575if_exSimple11: emit c20         --> if_exSimple10             
576if_exSimple10: move  %2, %3     --> if_exSimple2               
577if_exSimple2 : emit c16         --> if_exSimple1               
578if_exSimple1 : move  %5, %2     --> if_exSimple0               
579if_exSimple0 : j                --> if_exSimple51             
580if_exSimple51: move  $v0, %5    --> if_exSimple50             
581if_exSimple50: move  $ra, %18   --> if_exSimple49             
582if_exSimple49: move  $s7, %17   --> if_exSimple48             
583if_exSimple48: move  $s6, %16   --> if_exSimple47             
584if_exSimple47: move  $s5, %15   --> if_exSimple46             
585if_exSimple46: move  $s4, %14   --> if_exSimple45             
586if_exSimple45: move  $s3, %13   --> if_exSimple44             
587if_exSimple44: move  $s2, %12   --> if_exSimple43             
588if_exSimple43: move  $s1, %11   --> if_exSimple42             
589if_exSimple42: move  $s0, %10   --> if_exSimple41             
590if_exSimple41: delframe         --> if_exSimple40             
591if_exSimple40: jr    $ra        (xmits $v0)                   
592if_exSimple9 : emit c19         --> if_exSimple8               
593if_exSimple8 : li    %6, 2      --> if_exSimple7               
594if_exSimple7 : mul   %4, %6, %1 --> if_exSimple6               
595if_exSimple6 : emit c18         --> if_exSimple5               
596if_exSimple5 : addu  %4, %4, %0 --> if_exSimple4               
597if_exSimple4 : emit c17         --> if_exSimple3               
598if_exSimple3 : addu  %2, %4, %1 --> if_exSimple2               
599
600procedure _main(0)
601var %0, %1, %2, %3, %4, %5, %6,
602    %7, %8, %9, %10, %11, %12, %13,
603    %14, %15, %16, %17, %18, %19, %20,
604    %21, %22, %23, %24, %25, %26, %27,
605    %28, %29, %30, %31, %32, %33, %34,
606    %35, %36, %37, %38, %39, %40
607entry main91
608main91 : newframe             --> main90
609main90 : move  %40, $ra       --> main89
610main89 : move  %39, $s7       --> main88
611main88 : move  %38, $s6       --> main87
612main87 : move  %37, $s5       --> main86
613main86 : move  %36, $s4       --> main85
614main85 : move  %35, $s3       --> main84
615main84 : move  %34, $s2       --> main83
616main83 : move  %33, $s1       --> main82
617main82 : move  %32, $s0       --> main81
618main81 : li    %0, 0          --> main80
619main80 : li    %2, 0          --> main79
620main79 : li    %3, 0          --> main78
621main78 : li    %4, 0          --> main77
622main77 : li    %5, 0          --> main76
623main76 : li    %6, 0          --> main75
624main75 : li    %7, 0          --> main74
625main74 : li    %8, 0          --> main73
626main73 : li    %9, 0          --> main72
627main72 : li    %10, 0         --> main71
628main71 : li    %11, 0         --> main70
629main70 : li    %12, 0         --> main69
630main69 : li    %13, 0         --> main68
631main68 : li    %14, 0         --> main67
632main67 : li    %15, 0         --> main66
633main66 : li    %16, 0         --> main65
634main65 : li    %17, 0         --> main64
635main64 : li    %18, 0         --> main63
636main63 : li    %19, 0         --> main62
637main62 : li    %20, 0         --> main61
638main61 : li    %21, 0         --> main60
639main60 : li    %22, 0         --> main59
640main59 : li    %23, 0         --> main58
641main58 : li    %24, 0         --> main57
642main57 : li    %25, 0         --> main56
643main56 : li    %26, 0         --> main55
644main55 : li    %27, 0         --> main54
645main54 : li    %28, 0         --> main53
646main53 : li    %29, 0         --> main52
647main52 : li    %30, 0         --> main51
648main51 : li    %31, 0         --> main50
649main50 : emit c84             --> main49
650main49 : li    %23, 1         --> main48
651main48 : li    %24, 2         --> main47
652main47 : li    %25, 3         --> main46
653main46 : li    %26, 4         --> main45
654main45 : li    %27, 5         --> main44
655main44 : li    %28, 6         --> main43
656main43 : li    %29, 7         --> main42
657main42 : li    %30, 8         --> main41
658main41 : li    %31, 9         --> main40
659main40 : j                    --> main145
660main145: move  $a0, %23       --> main144
661main144: move  $a1, %24       --> main143
662main143: move  $a2, %25       --> main142
663main142: move  $a3, %26       --> main141
664main141: sets  out(16), %27   --> main140
665main140: sets  out(12), %28   --> main139
666main139: sets  out(8), %29    --> main138
667main138: sets  out(4), %30    --> main137
668main137: sets  out(0), %31    --> main136
669main136: call  if_jian(9)     --> main135
670main135: move  %0, $v0        --> main39
671main39 : emit c83             --> main38
672main38 : li    %21, 1         --> main37
673main37 : li    %22, 2         --> main36
674main36 : j                    --> main134
675main134: move  $a0, %21       --> main133
676main133: move  $a1, %22       --> main132
677main132: call  if_exSimple(2) --> main131
678main131: move  %0, $v0        --> main35
679main35 : emit c82             --> main34
680main34 : li    %18, 1         --> main33
681main33 : li    %19, 2         --> main32
682main32 : li    %20, 3         --> main31
683main31 : j                    --> main130
684main130: move  $a0, %18       --> main129
685main129: move  $a1, %19       --> main128
686main128: move  $a2, %20       --> main127
687main127: call  if_imbriq1(3)  --> main126
688main126: move  %0, $v0        --> main30
689main30 : emit c81             --> main29
690main29 : li    %15, 1         --> main28
691main28 : li    %16, 2         --> main27
692main27 : li    %17, 3         --> main26
693main26 : j                    --> main120
694main120: move  $a0, %15       --> main119
695main119: move  $a1, %16       --> main118
696main118: move  $a2, %17       --> main117
697main117: call  if_imbriq2(3)  --> main116
698main116: move  %0, $v0        --> main25
699main25 : emit c80             --> main24
700main24 : li    %13, 1         --> main23
701main23 : li    %14, 2         --> main22
702main22 : j                    --> main115
703main115: move  $a0, %13       --> main114
704main114: move  $a1, %14       --> main113
705main113: call  if_min(2)      --> main112
706main112: move  %0, $v0        --> main21
707main21 : emit c79             --> main20
708main20 : li    %11, 1         --> main19
709main19 : li    %12, 2         --> main18
710main18 : j                    --> main111
711main111: move  $a0, %11       --> main110
712main110: move  $a1, %12       --> main109
713main109: call  if_prog(2)     --> main108
714main108: move  %0, $v0        --> main17
715main17 : emit c78             --> main16
716main16 : li    %9, 1          --> main15
717main15 : li    %10, 2         --> main14
718main14 : j                    --> main107
719main107: move  $a0, %9        --> main106
720main106: move  $a1, %10       --> main105
721main105: call  if_sansElse(2) --> main104
722main104: move  %0, $v0        --> main13
723main13 : emit c77             --> main12
724main12 : li    %5, 1          --> main11
725main11 : li    %6, 2          --> main10
726main10 : li    %7, 3          --> main9 
727main9  : li    %8, 4          --> main8 
728main8  : j                    --> main151
729main151: move  $a0, %5        --> main150
730main150: move  $a1, %6        --> main149
731main149: move  $a2, %7        --> main148
732main148: move  $a3, %8        --> main147
733main147: call  if_test(4)     --> main146
734main146: move  %0, $v0        --> main7 
735main7  : emit c76             --> main6 
736main6  : li    %2, 1          --> main5 
737main5  : li    %3, 2          --> main4 
738main4  : li    %4, 3          --> main3 
739main3  : j                    --> main125
740main125: move  $a0, %2        --> main124
741main124: move  $a1, %3        --> main123
742main123: move  $a2, %4        --> main122
743main122: call  if_ual(3)      --> main121
744main121: move  %0, $v0        --> main2 
745main2  : emit c75             --> main1 
746main1  : move  %1, %0         --> main0 
747main0  : j                    --> main103
748main103: move  $v0, %1        --> main102
749main102: move  $ra, %40       --> main101
750main101: move  $s7, %39       --> main100
751main100: move  $s6, %38       --> main99
752main99 : move  $s5, %37       --> main98
753main98 : move  $s4, %36       --> main97
754main97 : move  $s3, %35       --> main96
755main96 : move  $s2, %34       --> main95
756main95 : move  $s1, %33       --> main94
757main94 : move  $s0, %32       --> main93
758main93 : delframe             --> main92
759main92 : jr    $ra            (xmits $v0)
760
Note: See TracBrowser for help on using the repository browser.