source: Deliverables/D2.2/8051/tests/clight/ifthenelse.ASM.expected

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

Deliverable D2.2

File size: 4.8 KB
Line 
1.data                 
2globals:               
3.space 0           
4nl:                   
5.asciiz "\n"     
6.align 2             
7.text                 
8main:                 
9la    $gp, globals   
10j     main91             
11write:               
12li    $v0, 1         
13syscall               
14jr     $ra           
15writeln:             
16li    $v0, 1         
17syscall               
18la    $a0, nl         
19li    $v0, 4         
20syscall               
21jr     $ra           
22readln:               
23li    $v0, 5         
24syscall               
25jr     $ra           
26alloc:               
27li    $v0, 9         
28syscall               
29jr     $ra           
30
31# begin if_ual
32if_ual84:
33li    $v0, 0
34c74:
35li    $a3, 0
36seq   $a3, $a0, $a3
37beq   $a3, $zero, if_ual43
38c73:
39addu  $v0, $a1, $a2
40if_ual2:
41c62:
42jr    $ra
43if_ual43:
44c72:
45li    $a3, 1
46seq   $a3, $a0, $a3
47beq   $a3, $zero, if_ual36
48c71:
49subu  $v0, $a1, $a2
50j     if_ual2
51if_ual36:
52c70:
53li    $a3, 2
54seq   $a3, $a0, $a3
55beq   $a3, $zero, if_ual19
56c69:
57c68:
58beq   $a1, $zero, if_ual20
59c67:
60beq   $a2, $zero, if_ual21
61li    $v0, 1
62j     if_ual2
63if_ual21:
64li    $v0, 0
65j     if_ual2
66if_ual20:
67li    $v0, 0
68j     if_ual2
69if_ual19:
70c66:
71li    $a3, 3
72seq   $a0, $a0, $a3
73beq   $a0, $zero, if_ual2
74c65:
75c64:
76beq   $a1, $zero, if_ual7
77li    $v0, 1
78j     if_ual2
79if_ual7:
80c63:
81beq   $a2, $zero, if_ual3
82li    $v0, 1
83j     if_ual2
84if_ual3:
85li    $v0, 0
86j     if_ual2
87# end if_ual
88
89# begin if_test
90if_test55:
91c61:
92li    $v0, 0
93c60:
94c59:
95c58:
96c57:
97c56:
98slt   $t0, $a0, $a1
99beq   $t0, $zero, if_test15
100c55:
101addu  $v0, $a0, $a1
102if_test15:
103c54:
104slt   $a0, $a2, $a3
105beq   $a0, $zero, if_test7
106c53:
107c52:
108if_test7:
109c51:
110c50:
111c49:
112jr    $ra
113# end if_test
114
115# begin if_sansElse
116if_sansElse25:
117c48:
118li    $v0, 0
119c47:
120slt   $a1, $a0, $a1
121beq   $a1, $zero, if_sansElse2
122c46:
123move  $v0, $a0
124if_sansElse2:
125c45:
126jr    $ra
127# end if_sansElse
128
129# begin if_prog
130if_prog30:
131c44:
132addu  $v0, $a1, $a0
133c43:
134li    $a0, 0
135slt   $v0, $v0, $zero
136beq   $v0, $a0, if_prog4
137c42:
138li    $v0, 2
139if_prog2:
140c40:
141jr    $ra
142if_prog4:
143c41:
144li    $v0, 3
145j     if_prog2
146# end if_prog
147
148# begin if_min
149if_min25:
150move  $v0, $a1
151c39:
152sgt   $a1, $a0, $v0
153beq   $a1, $zero, if_min4
154c38:
155if_min2:
156c36:
157jr    $ra
158if_min4:
159c37:
160move  $v0, $a0
161j     if_min2
162# end if_min
163
164# begin if_jian
165if_jian92:
166addiu $sp, $sp, -20
167lw    $t4, 0($sp)
168lw    $t3, 4($sp)
169lw    $t2, 8($sp)
170lw    $t0, 12($sp)
171lw    $t1, 16($sp)
172li    $v0, 0
173c15:
174addu  $a0, $a0, $a1
175slt   $t5, $a0, $a2
176c14:
177addu  $a1, $a3, $t4
178c13:
179li    $a0, 1
180addu  $a2, $a2, $a0
181c12:
182li    $a0, 1
183seq   $a0, $t1, $a0
184beq   $a0, $zero, if_jian8
185c11:
186beq   $t5, $zero, if_jian30
187c10:
188addu  $v0, $a2, $a3
189if_jian24:
190c7:
191li    $a1, 0
192c6:
193li    $a0, 0
194seq   $a0, $t5, $a0
195beq   $a0, $a1, if_jian12
196li    $a0, 0
197c5:
198beq   $t0, $a0, if_jian13
199li    $a0, 1
200if_jian11:
201beq   $a0, $zero, if_jian2
202c4:
203if_jian2:
204c0:
205addiu $sp, $sp, 20
206jr    $ra
207if_jian13:
208li    $a0, 0
209j     if_jian11
210if_jian12:
211li    $a0, 0
212j     if_jian11
213if_jian30:
214c9:
215li    $a0, 0
216seq   $a0, $t0, $a0
217beq   $a0, $zero, if_jian24
218c8:
219addu  $v0, $a1, $a3
220j     if_jian24
221if_jian8:
222c3:
223addu  $v0, $a2, $t4
224c2:
225addu  $v0, $v0, $t3
226c1:
227addu  $v0, $v0, $t2
228j     if_jian2
229# end if_jian
230
231# begin if_imbriq2
232if_imbriq234:
233move  $v0, $a0
234c35:
235slt   $a0, $v0, $a1
236beq   $a0, $zero, if_imbriq24
237c34:
238slt   $v0, $a1, $a2
239beq   $v0, $zero, if_imbriq26
240c33:
241move  $v0, $a1
242if_imbriq22:
243c30:
244jr    $ra
245if_imbriq26:
246c32:
247li    $v0, 47
248j     if_imbriq22
249if_imbriq24:
250c31:
251j     if_imbriq22
252# end if_imbriq2
253
254# begin if_imbriq1
255if_imbriq134:
256move  $v0, $a2
257c29:
258slt   $a2, $a0, $a1
259beq   $a2, $zero, if_imbriq14
260c28:
261slt   $a0, $a1, $v0
262beq   $a0, $zero, if_imbriq16
263c27:
264move  $v0, $a1
265if_imbriq12:
266c24:
267jr    $ra
268if_imbriq16:
269c26:
270j     if_imbriq12
271if_imbriq14:
272c25:
273move  $v0, $a0
274j     if_imbriq12
275# end if_imbriq1
276
277# begin if_exSimple
278if_exSimple39:
279c23:
280slt   $v0, $a0, $a1
281beq   $v0, $zero, if_exSimple9
282c22:
283addu  $v0, $a0, $a1
284c21:
285li    $a0, 2
286mul   $v0, $a0, $v0
287c20:
288if_exSimple2:
289c16:
290jr    $ra
291if_exSimple9:
292c19:
293li    $v0, 2
294mul   $v0, $v0, $a1
295c18:
296addu  $v0, $v0, $a0
297c17:
298addu  $v0, $v0, $a1
299j     if_exSimple2
300# end if_exSimple
301
302# begin _main
303main91:
304addiu $sp, $sp, -4
305sw    $ra, 0($sp)
306c84:
307li    $a0, 1
308li    $a1, 2
309li    $a2, 3
310li    $a3, 4
311li    $t3, 5
312li    $t2, 6
313li    $t1, 7
314li    $t0, 8
315li    $v0, 9
316sw    $t3, -20($sp)
317sw    $t2, -16($sp)
318sw    $t1, -12($sp)
319sw    $t0, -8($sp)
320sw    $v0, -4($sp)
321jal   if_jian92
322c83:
323li    $a0, 1
324li    $a1, 2
325jal   if_exSimple39
326c82:
327li    $a0, 1
328li    $a1, 2
329li    $a2, 3
330jal   if_imbriq134
331c81:
332li    $a0, 1
333li    $a1, 2
334li    $a2, 3
335jal   if_imbriq234
336c80:
337li    $a0, 1
338li    $a1, 2
339jal   if_min25
340c79:
341li    $a0, 1
342li    $a1, 2
343jal   if_prog30
344c78:
345li    $a0, 1
346li    $a1, 2
347jal   if_sansElse25
348c77:
349li    $a0, 1
350li    $a1, 2
351li    $a2, 3
352li    $a3, 4
353jal   if_test55
354c76:
355li    $a0, 1
356li    $a1, 2
357li    $a2, 3
358jal   if_ual84
359c75:
360lw    $ra, 0($sp)
361addiu $sp, $sp, 4
362jr    $ra
363# end _main
Note: See TracBrowser for help on using the repository browser.