Automatic commit. Tue Aug 14 08:00:03 WST 2012
[matches/honours.git] / research / TCS / apparatus / source_code / printf.lst
1    1                            .file   "printf.c"
2    2                    __SREG__ = 0x3f
3    3                    __SP_H__ = 0x3e
4    4                    __SP_L__ = 0x3d
5    5                    __CCP__  = 0x34
6    6                    __tmp_reg__ = 0
7    7                    __zero_reg__ = 1
8   15                    .Ltext0:
9   16                            .section        .text.luint2str,"ax",@progbits
10   17                    .global luint2str
11   19                    luint2str:
12   20                    .LFB2:
13   21                    .LSM0:
14   22                    .LVL0:
15   23 0000 6F92                  push r6
16   24 0002 7F92                  push r7
17   25 0004 8F92                  push r8
18   26 0006 9F92                  push r9
19   27 0008 AF92                  push r10
20   28 000a BF92                  push r11
21   29 000c CF92                  push r12
22   30 000e DF92                  push r13
23   31 0010 EF92                  push r14
24   32 0012 FF92                  push r15
25   33 0014 0F93                  push r16
26   34 0016 1F93                  push r17
27   35 0018 CF93                  push r28
28   36 001a DF93                  push r29
29   37                    /* prologue: function */
30   38                    /* frame size = 0 */
31   39 001c 3C01                  movw r6,r24
32   40 001e 5A01                  movw r10,r20
33   41 0020 6B01                  movw r12,r22
34   42                    .LSM1:
35   43 0022 4115                  cp r20,__zero_reg__
36   44 0024 5105                  cpc r21,__zero_reg__
37   45 0026 6105                  cpc r22,__zero_reg__
38   46 0028 7105                  cpc r23,__zero_reg__
39   47 002a 01F0                  breq .L2
40   48                    .LVL1:
41   49 002c 80E0                  ldi r24,lo8(0)
42   50 002e 90E0                  ldi r25,hi8(0)
43   51                    .LVL2:
44   52 0030 00C0                  rjmp .L3
45   53                    .LVL3:
46   54                    .L2:
47   55                    .LSM2:
48   56 0032 80E3                  ldi r24,lo8(48)
49   57 0034 F301                  movw r30,r6
50   58 0036 8083                  st Z,r24
51   59                    .LSM3:
52   60 0038 1182                  std Z+1,__zero_reg__
53   61 003a 41E0                  ldi r20,lo8(1)
54   62 003c 50E0                  ldi r21,hi8(1)
55   63                    .LVL4:
56   64 003e 00C0                  rjmp .L4
57   65                    .LVL5:
58   66                    .L5:
59   67                    .LSM4:
60   68 0040 C601                  movw r24,r12
61   69 0042 B501                  movw r22,r10
62   70 0044 2AE0                  ldi r18,lo8(10)
63   71 0046 30E0                  ldi r19,hi8(10)
64   72 0048 40E0                  ldi r20,hlo8(10)
65   73 004a 50E0                  ldi r21,hhi8(10)
66   74 004c 0E94 0000             call __udivmodsi4
67   75 0050 7B01                  movw r14,r22
68   76 0052 8C01                  movw r16,r24
69   77                    .LSM5:
70   78 0054 C601                  movw r24,r12
71   79 0056 B501                  movw r22,r10
72   80 0058 2AE0                  ldi r18,lo8(10)
73   81 005a 30E0                  ldi r19,hi8(10)
74   82 005c 40E0                  ldi r20,hlo8(10)
75   83 005e 50E0                  ldi r21,hhi8(10)
76   84 0060 0E94 0000             call __udivmodsi4
77   85 0064 5901                  movw r10,r18
78   86 0066 6A01                  movw r12,r20
79   87                    .LSM6:
80   88 0068 F0E3                  ldi r31,lo8(48)
81   89 006a EF0E                  add r14,r31
82   90 006c F401                  movw r30,r8
83   91 006e E082                  st Z,r14
84   92                    .LSM7:
85   93 0070 CE01                  movw r24,r28
86   94                    .LVL6:
87   95                    .L3:
88   96 0072 4301                  movw r8,r6
89   97 0074 880E                  add r8,r24
90   98 0076 991E                  adc r9,r25
91   99 0078 EC01                  movw r28,r24
92  100 007a 2196                  adiw r28,1
93  101                    .LVL7:
94  102                    .LSM8:
95  103 007c FAE0                  ldi r31,lo8(10)
96  104 007e AF16                  cp r10,r31
97  105 0080 B104                  cpc r11,__zero_reg__
98  106 0082 C104                  cpc r12,__zero_reg__
99  107 0084 D104                  cpc r13,__zero_reg__
100  108 0086 00F4                  brsh .L5
101  109                    .LSM9:
102  110 0088 8A2D                  mov r24,r10
103  111                    .LVL8:
104  112 008a 805D                  subi r24,lo8(-(48))
105  113 008c F401                  movw r30,r8
106  114 008e 8083                  st Z,r24
107  115                    .LSM10:
108  116 0090 AE01                  movw r20,r28
109  117                    .LVL9:
110  118                    .LBB2:
111  119                    .LSM11:
112  120 0092 BE01                  movw r22,r28
113  121 0094 7595                  asr r23
114  122 0096 6795                  ror r22
115  123 0098 D301                  movw r26,r6
116  124 009a 20E0                  ldi r18,lo8(0)
117  125 009c 30E0                  ldi r19,hi8(0)
118  126                    .LVL10:
119  127 009e 00C0                  rjmp .L6
120  128                    .LVL11:
121  129                    .L7:
122  130                    .LBB3:
123  131                    .LSM12:
124  132 00a0 9C91                  ld r25,X
125  133                    .LSM13:
126  134 00a2 8081                  ld r24,Z
127  135 00a4 8D93                  st X+,r24
128  136                    .LSM14:
129  137 00a6 9083                  st Z,r25
130  138                    .LBE3:
131  139                    .LSM15:
132  140 00a8 2F5F                  subi r18,lo8(-(1))
133  141 00aa 3F4F                  sbci r19,hi8(-(1))
134  142 00ac 3197                  sbiw r30,1
135  143                    .L6:
136  144 00ae 2617                  cp r18,r22
137  145 00b0 3707                  cpc r19,r23
138  146 00b2 04F0                  brlt .L7
139  147                    .LBE2:
140  148                    .LSM16:
141  149 00b4 C60D                  add r28,r6
142  150 00b6 D71D                  adc r29,r7
143  151 00b8 1882                  st Y,__zero_reg__
144  152                    .LVL12:
145  153                    .L4:
146  154                    .LSM17:
147  155 00ba CA01                  movw r24,r20
148  156                    /* epilogue start */
149  157 00bc DF91                  pop r29
150  158 00be CF91                  pop r28
151  159                    .LVL13:
152  160 00c0 1F91                  pop r17
153  161 00c2 0F91                  pop r16
154  162 00c4 FF90                  pop r15
155  163 00c6 EF90                  pop r14
156  164 00c8 DF90                  pop r13
157  165 00ca CF90                  pop r12
158  166 00cc BF90                  pop r11
159  167 00ce AF90                  pop r10
160  168                    .LVL14:
161  169 00d0 9F90                  pop r9
162  170 00d2 8F90                  pop r8
163  171 00d4 7F90                  pop r7
164  172 00d6 6F90                  pop r6
165  173                    .LVL15:
166  174 00d8 0895                  ret
167  175                    .LFE2:
168  177                            .section        .text.uint2str,"ax",@progbits
169  178                    .global uint2str
170  180                    uint2str:
171  181                    .LFB3:
172  182                    .LSM18:
173  183                    .LVL16:
174  184 0000 EF92                  push r14
175  185 0002 FF92                  push r15
176  186 0004 0F93                  push r16
177  187 0006 1F93                  push r17
178  188 0008 CF93                  push r28
179  189 000a DF93                  push r29
180  190                    /* prologue: function */
181  191                    /* frame size = 0 */
182  192 000c 7C01                  movw r14,r24
183  193 000e FB01                  movw r30,r22
184  194                    .LSM19:
185  195 0010 6115                  cp r22,__zero_reg__
186  196 0012 7105                  cpc r23,__zero_reg__
187  197 0014 01F0                  breq .L10
188  198                    .LVL17:
189  199 0016 80E0                  ldi r24,lo8(0)
190  200 0018 90E0                  ldi r25,hi8(0)
191  201                    .LVL18:
192  202 001a 00C0                  rjmp .L11
193  203                    .LVL19:
194  204                    .L10:
195  205                    .LSM20:
196  206 001c 80E3                  ldi r24,lo8(48)
197  207 001e D701                  movw r26,r14
198  208 0020 8C93                  st X,r24
199  209                    .LSM21:
200  210 0022 1196                  adiw r26,1
201  211 0024 1C92                  st X,__zero_reg__
202  212 0026 41E0                  ldi r20,lo8(1)
203  213 0028 50E0                  ldi r21,hi8(1)
204  214                    .LVL20:
205  215 002a 00C0                  rjmp .L12
206  216                    .LVL21:
207  217                    .L13:
208  218                    .LSM22:
209  219 002c CF01                  movw r24,r30
210  220 002e 6AE0                  ldi r22,lo8(10)
211  221 0030 70E0                  ldi r23,hi8(10)
212  222 0032 0E94 0000             call __udivmodhi4
213  223 0036 9C01                  movw r18,r24
214  224                    .LSM23:
215  225 0038 CF01                  movw r24,r30
216  226 003a 6AE0                  ldi r22,lo8(10)
217  227 003c 70E0                  ldi r23,hi8(10)
218  228 003e 0E94 0000             call __udivmodhi4
219  229 0042 FB01                  movw r30,r22
220  230                    .LSM24:
221  231 0044 205D                  subi r18,lo8(-(48))
222  232 0046 D801                  movw r26,r16
223  233 0048 2C93                  st X,r18
224  234                    .LSM25:
225  235 004a CE01                  movw r24,r28
226  236                    .LVL22:
227  237                    .L11:
228  238 004c 8701                  movw r16,r14
229  239 004e 080F                  add r16,r24
230  240 0050 191F                  adc r17,r25
231  241 0052 EC01                  movw r28,r24
232  242 0054 2196                  adiw r28,1
233  243                    .LVL23:
234  244                    .LSM26:
235  245 0056 EA30                  cpi r30,10
236  246 0058 F105                  cpc r31,__zero_reg__
237  247 005a 00F4                  brsh .L13
238  248                    .LSM27:
239  249 005c 8E2F                  mov r24,r30
240  250                    .LVL24:
241  251 005e 805D                  subi r24,lo8(-(48))
242  252 0060 F801                  movw r30,r16
243  253 0062 8083                  st Z,r24
244  254                    .LSM28:
245  255 0064 AE01                  movw r20,r28
246  256                    .LBB4:
247  257                    .LSM29:
248  258 0066 BE01                  movw r22,r28
249  259                    .LVL25:
250  260 0068 7595                  asr r23
251  261 006a 6795                  ror r22
252  262 006c D701                  movw r26,r14
253  263 006e 20E0                  ldi r18,lo8(0)
254  264 0070 30E0                  ldi r19,hi8(0)
255  265                    .LVL26:
256  266 0072 00C0                  rjmp .L14
257  267                    .LVL27:
258  268                    .L15:
259  269                    .LBB5:
260  270                    .LSM30:
261  271 0074 9C91                  ld r25,X
262  272                    .LSM31:
263  273 0076 8081                  ld r24,Z
264  274 0078 8D93                  st X+,r24
265  275                    .LSM32:
266  276 007a 9083                  st Z,r25
267  277                    .LBE5:
268  278                    .LSM33:
269  279 007c 2F5F                  subi r18,lo8(-(1))
270  280 007e 3F4F                  sbci r19,hi8(-(1))
271  281 0080 3197                  sbiw r30,1
272  282                    .L14:
273  283 0082 2617                  cp r18,r22
274  284 0084 3707                  cpc r19,r23
275  285 0086 04F0                  brlt .L15
276  286                    .LBE4:
277  287                    .LSM34:
278  288 0088 CE0D                  add r28,r14
279  289 008a DF1D                  adc r29,r15
280  290 008c 1882                  st Y,__zero_reg__
281  291                    .LVL28:
282  292                    .L12:
283  293                    .LSM35:
284  294 008e CA01                  movw r24,r20
285  295                    /* epilogue start */
286  296 0090 DF91                  pop r29
287  297 0092 CF91                  pop r28
288  298                    .LVL29:
289  299 0094 1F91                  pop r17
290  300 0096 0F91                  pop r16
291  301 0098 FF90                  pop r15
292  302 009a EF90                  pop r14
293  303                    .LVL30:
294  304 009c 0895                  ret
295  305                    .LFE3:
296  307                            .section        .text.int2str,"ax",@progbits
297  308                    .global int2str
298  310                    int2str:
299  311                    .LFB4:
300  312                    .LSM36:
301  313                    .LVL31:
302  314 0000 CF92                  push r12
303  315 0002 DF92                  push r13
304  316 0004 EF92                  push r14
305  317 0006 FF92                  push r15
306  318 0008 0F93                  push r16
307  319 000a 1F93                  push r17
308  320 000c CF93                  push r28
309  321 000e DF93                  push r29
310  322                    /* prologue: function */
311  323                    /* frame size = 0 */
312  324 0010 EC01                  movw r28,r24
313  325 0012 8B01                  movw r16,r22
314  326                    .LSM37:
315  327 0014 6115                  cp r22,__zero_reg__
316  328 0016 7105                  cpc r23,__zero_reg__
317  329 0018 01F0                  breq .L18
318  330                    .LVL32:
319  331 001a FB01                  movw r30,r22
320  332 001c 80E0                  ldi r24,lo8(0)
321  333 001e 90E0                  ldi r25,hi8(0)
322  334                    .LVL33:
323  335 0020 00C0                  rjmp .L19
324  336                    .LVL34:
325  337                    .L18:
326  338                    .LSM38:
327  339 0022 80E3                  ldi r24,lo8(48)
328  340 0024 8883                  st Y,r24
329  341                    .LSM39:
330  342 0026 1982                  std Y+1,__zero_reg__
331  343 0028 21E0                  ldi r18,lo8(1)
332  344 002a 30E0                  ldi r19,hi8(1)
333  345                    .LVL35:
334  346 002c 00C0                  rjmp .L20
335  347                    .LVL36:
336  348                    .L21:
337  349                    .LSM40:
338  350 002e CF01                  movw r24,r30
339  351 0030 6AE0                  ldi r22,lo8(10)
340  352 0032 70E0                  ldi r23,hi8(10)
341  353 0034 0E94 0000             call __divmodhi4
342  354 0038 9C01                  movw r18,r24
343  355                    .LSM41:
344  356 003a CF01                  movw r24,r30
345  357 003c 6AE0                  ldi r22,lo8(10)
346  358 003e 70E0                  ldi r23,hi8(10)
347  359 0040 0E94 0000             call __divmodhi4
348  360 0044 FB01                  movw r30,r22
349  361                    .LSM42:
350  362 0046 205D                  subi r18,lo8(-(48))
351  363 0048 D701                  movw r26,r14
352  364 004a 2C93                  st X,r18
353  365                    .LSM43:
354  366 004c C601                  movw r24,r12
355  367                    .LVL37:
356  368                    .L19:
357  369 004e 7E01                  movw r14,r28
358  370 0050 E80E                  add r14,r24
359  371 0052 F91E                  adc r15,r25
360  372 0054 6C01                  movw r12,r24
361  373 0056 0894                  sec
362  374 0058 C11C                  adc r12,__zero_reg__
363  375 005a D11C                  adc r13,__zero_reg__
364  376                    .LVL38:
365  377                    .LSM44:
366  378 005c EA30                  cpi r30,10
367  379 005e F105                  cpc r31,__zero_reg__
368  380 0060 04F4                  brge .L21
369  381                    .LSM45:
370  382 0062 8E2F                  mov r24,r30
371  383                    .LVL39:
372  384 0064 805D                  subi r24,lo8(-(48))
373  385 0066 F701                  movw r30,r14
374  386 0068 8083                  st Z,r24
375  387                    .LSM46:
376  388 006a 9601                  movw r18,r12
377  389                    .LSM47:
378  390 006c 17FF                  sbrs r17,7
379  391 006e 00C0                  rjmp .L22
380  392                    .LVL40:
381  393                    .LSM48:
382  394 0070 FE01                  movw r30,r28
383  395 0072 EC0D                  add r30,r12
384  396 0074 FD1D                  adc r31,r13
385  397 0076 8DE2                  ldi r24,lo8(45)
386  398 0078 8083                  st Z,r24
387  399                    .LSM49:
388  400 007a 2F5F                  subi r18,lo8(-(1))
389  401 007c 3F4F                  sbci r19,hi8(-(1))
390  402                    .LVL41:
391  403                    .L22:
392  404                    .LBB6:
393  405                    .LSM50:
394  406 007e B901                  movw r22,r18
395  407 0080 7595                  asr r23
396  408 0082 6795                  ror r22
397  409 0084 FE01                  movw r30,r28
398  410                    .LSM51:
399  411 0086 C20F                  add r28,r18
400  412 0088 D31F                  adc r29,r19
401  413                    .LVL42:
402  414 008a DE01                  movw r26,r28
403  415 008c 40E0                  ldi r20,lo8(0)
404  416 008e 50E0                  ldi r21,hi8(0)
405  417                    .LVL43:
406  418 0090 00C0                  rjmp .L23
407  419                    .LVL44:
408  420                    .L24:
409  421                    .LBB7:
410  422                    .LSM52:
411  423 0092 9081                  ld r25,Z
412  424                    .LSM53:
413  425 0094 8C91                  ld r24,X
414  426 0096 8193                  st Z+,r24
415  427                    .LSM54:
416  428 0098 9C93                  st X,r25
417  429                    .LBE7:
418  430                    .LSM55:
419  431 009a 4F5F                  subi r20,lo8(-(1))
420  432 009c 5F4F                  sbci r21,hi8(-(1))
421  433                    .L23:
422  434 009e 1197                  sbiw r26,1
423  435 00a0 4617                  cp r20,r22
424  436 00a2 5707                  cpc r21,r23
425  437 00a4 04F0                  brlt .L24
426  438                    .LBE6:
427  439                    .LSM56:
428  440 00a6 1882                  st Y,__zero_reg__
429  441                    .LVL45:
430  442                    .L20:
431  443                    .LSM57:
432  444 00a8 C901                  movw r24,r18
433  445                    /* epilogue start */
434  446 00aa DF91                  pop r29
435  447 00ac CF91                  pop r28
436  448                    .LVL46:
437  449 00ae 1F91                  pop r17
438  450 00b0 0F91                  pop r16
439  451                    .LVL47:
440  452 00b2 FF90                  pop r15
441  453 00b4 EF90                  pop r14
442  454 00b6 DF90                  pop r13
443  455 00b8 CF90                  pop r12
444  456 00ba 0895                  ret
445  457                    .LFE4:
446  459                            .section        .text.float2str,"ax",@progbits
447  460                    .global float2str
448  462                    float2str:
449  463                    .LFB5:
450  464                    .LSM58:
451  465                    .LVL48:
452  466 0000 6F92                  push r6
453  467 0002 7F92                  push r7
454  468 0004 8F92                  push r8
455  469 0006 9F92                  push r9
456  470 0008 AF92                  push r10
457  471 000a BF92                  push r11
458  472 000c CF92                  push r12
459  473 000e DF92                  push r13
460  474 0010 EF92                  push r14
461  475 0012 FF92                  push r15
462  476 0014 0F93                  push r16
463  477 0016 1F93                  push r17
464  478                    /* prologue: function */
465  479                    /* frame size = 0 */
466  480 0018 5C01                  movw r10,r24
467  481 001a 3A01                  movw r6,r20
468  482 001c 4B01                  movw r8,r22
469  483                    .LSM59:
470  484 001e CB01                  movw r24,r22
471  485 0020 BA01                  movw r22,r20
472  486 0022 0E94 0000             call __fixsfsi
473  487                    .LVL49:
474  488 0026 9B01                  movw r18,r22
475  489 0028 AC01                  movw r20,r24
476  490 002a 7B01                  movw r14,r22
477  491                    .LVL50:
478  492                    .LSM60:
479  493 002c C501                  movw r24,r10
480  494 002e B901                  movw r22,r18
481  495 0030 0E94 0000             call int2str
482  496 0034 6C01                  movw r12,r24
483  497                    .LVL51:
484  498                    .LSM61:
485  499 0036 F501                  movw r30,r10
486  500 0038 E80F                  add r30,r24
487  501 003a F91F                  adc r31,r25
488  502 003c 8EE2                  ldi r24,lo8(46)
489  503 003e 8083                  st Z,r24
490  504                    .LSM62:
491  505 0040 0894                  sec
492  506 0042 C11C                  adc r12,__zero_reg__
493  507 0044 D11C                  adc r13,__zero_reg__
494  508                    .LVL52:
495  509                    .LSM63:
496  510 0046 AC0C                  add r10,r12
497  511 0048 BD1C                  adc r11,r13
498  512 004a 0027                  clr r16
499  513 004c F7FC                  sbrc r15,7
500  514 004e 0095                  com r16
501  515 0050 102F                  mov r17,r16
502  516                    .LVL53:
503  517 0052 C801                  movw r24,r16
504  518 0054 B701                  movw r22,r14
505  519 0056 0E94 0000             call __floatsisf
506  520 005a 9B01                  movw r18,r22
507  521 005c AC01                  movw r20,r24
508  522 005e C401                  movw r24,r8
509  523 0060 B301                  movw r22,r6
510  524 0062 0E94 0000             call __subsf3
511  525 0066 20E0                  ldi r18,lo8(0x42c80000)
512  526 0068 30E0                  ldi r19,hi8(0x42c80000)
513  527 006a 48EC                  ldi r20,hlo8(0x42c80000)
514  528 006c 52E4                  ldi r21,hhi8(0x42c80000)
515  529 006e 0E94 0000             call __mulsf3
516  530 0072 0E94 0000             call __fixsfsi
517  531 0076 9B01                  movw r18,r22
518  532 0078 AC01                  movw r20,r24
519  533 007a C501                  movw r24,r10
520  534 007c B901                  movw r22,r18
521  535 007e 0E94 0000             call int2str
522  536                    .LSM64:
523  537 0082 8C0D                  add r24,r12
524  538 0084 9D1D                  adc r25,r13
525  539                    /* epilogue start */
526  540 0086 1F91                  pop r17
527  541 0088 0F91                  pop r16
528  542 008a FF90                  pop r15
529  543 008c EF90                  pop r14
530  544                    .LVL54:
531  545 008e DF90                  pop r13
532  546 0090 CF90                  pop r12
533  547                    .LVL55:
534  548 0092 BF90                  pop r11
535  549 0094 AF90                  pop r10
536  550                    .LVL56:
537  551 0096 9F90                  pop r9
538  552 0098 8F90                  pop r8
539  553 009a 7F90                  pop r7
540  554 009c 6F90                  pop r6
541  555                    .LVL57:
542  556 009e 0895                  ret
543  557                    .LFE5:
544  559                            .section        .text.str2str,"ax",@progbits
545  560                    .global str2str
546  562                    str2str:
547  563                    .LFB6:
548  564                    .LSM65:
549  565                    .LVL58:
550  566                    /* prologue: function */
551  567                    /* frame size = 0 */
552  568 0000 9C01                  movw r18,r24
553  569                    .LSM66:
554  570 0002 80E0                  ldi r24,lo8(0)
555  571 0004 90E0                  ldi r25,hi8(0)
556  572                    .LVL59:
557  573 0006 00C0                  rjmp .L29
558  574                    .L30:
559  575                    .LSM67:
560  576 0008 EC93                  st X,r30
561  577                    .LSM68:
562  578 000a 0196                  adiw r24,1
563  579                    .L29:
564  580 000c FB01                  movw r30,r22
565  581 000e E80F                  add r30,r24
566  582 0010 F91F                  adc r31,r25
567  583 0012 E081                  ld r30,Z
568  584 0014 D901                  movw r26,r18
569  585 0016 A80F                  add r26,r24
570  586 0018 B91F                  adc r27,r25
571  587 001a EE23                  tst r30
572  588 001c 01F4                  brne .L30
573  589                    .LSM69:
574  590 001e 1C92                  st X,__zero_reg__
575  591                    .LVL60:
576  592                    /* epilogue start */
577  593                    .LSM70:
578  594 0020 0895                  ret
579  595                    .LFE6:
580  597                            .section        .text.vsprintf,"ax",@progbits
581  598                    .global vsprintf
582  600                    vsprintf:
583  601                    .LFB7:
584  602                    .LSM71:
585  603                    .LVL61:
586  604 0000 AF92                  push r10
587  605 0002 BF92                  push r11
588  606 0004 CF92                  push r12
589  607 0006 DF92                  push r13
590  608 0008 EF92                  push r14
591  609 000a FF92                  push r15
592  610 000c 0F93                  push r16
593  611 000e 1F93                  push r17
594  612 0010 CF93                  push r28
595  613 0012 DF93                  push r29
596  614                    /* prologue: function */
597  615                    /* frame size = 0 */
598  616 0014 7C01                  movw r14,r24
599  617 0016 5B01                  movw r10,r22
600  618 0018 DA01                  movw r26,r20
601  619                    .LSM72:
602  620 001a C0E0                  ldi r28,lo8(0)
603  621 001c D0E0                  ldi r29,hi8(0)
604  622                    .LVL62:
605  623 001e CC24                  clr r12
606  624 0020 DD24                  clr r13
607  625                    .LVL63:
608  626 0022 00C0                  rjmp .L33
609  627                    .LVL64:
610  628                    .L45:
611  629 0024 8532                  cpi r24,lo8(37)
612  630 0026 01F0                  breq .+2
613  631 0028 00C0                  rjmp .L34
614  632                    .LSM73:
615  633 002a 8181                  ldd r24,Z+1
616  634 002c 8936                  cpi r24,lo8(105)
617  635 002e 01F0                  breq .L37
618  636 0030 8A36                  cpi r24,lo8(106)
619  637 0032 00F4                  brsh .L41
620  638 0034 8436                  cpi r24,lo8(100)
621  639 0036 01F0                  breq .L37
622  640 0038 8636                  cpi r24,lo8(102)
623  641 003a 01F0                  breq .L38
624  642 003c 8336                  cpi r24,lo8(99)
625  643 003e 01F4                  brne .L35
626  644 0040 00C0                  rjmp .L48
627  645                    .L41:
628  646 0042 8337                  cpi r24,lo8(115)
629  647 0044 01F0                  breq .L40
630  648 0046 8537                  cpi r24,lo8(117)
631  649 0048 01F0                  breq .L37
632  650 004a 8C36                  cpi r24,lo8(108)
633  651 004c 01F0                  breq .L39
634  652                    .L35:
635  653 004e CFEF                  ldi r28,lo8(-1)
636  654 0050 DFEF                  ldi r29,hi8(-1)
637  655 0052 00C0                  rjmp .L42
638  656                    .L37:
639  657                    .LBB8:
640  658                    .LSM74:
641  659 0054 8D01                  movw r16,r26
642  660 0056 0E5F                  subi r16,lo8(-(2))
643  661 0058 1F4F                  sbci r17,hi8(-(2))
644  662                    .LVL65:
645  663                    .LSM75:
646  664 005a 6D91                  ld r22,X+
647  665 005c 7C91                  ld r23,X
648  666 005e C701                  movw r24,r14
649  667 0060 8C0F                  add r24,r28
650  668 0062 9D1F                  adc r25,r29
651  669 0064 0E94 0000             call uint2str
652  670 0068 00C0                  rjmp .L47
653  671                    .LVL66:
654  672                    .L39:
655  673                    .LBE8:
656  674                    .LBB9:
657  675                    .LSM76:
658  676 006a 8D01                  movw r16,r26
659  677 006c 0C5F                  subi r16,lo8(-(4))
660  678 006e 1F4F                  sbci r17,hi8(-(4))
661  679                    .LVL67:
662  680                    .LSM77:
663  681 0070 4D91                  ld r20,X+
664  682 0072 5D91                  ld r21,X+
665  683 0074 6D91                  ld r22,X+
666  684 0076 7C91                  ld r23,X
667  685 0078 C701                  movw r24,r14
668  686 007a 8C0F                  add r24,r28
669  687 007c 9D1F                  adc r25,r29
670  688 007e 0E94 0000             call luint2str
671  689                    .L47:
672  690 0082 C80F                  add r28,r24
673  691 0084 D91F                  adc r29,r25
674  692 0086 D801                  movw r26,r16
675  693 0088 00C0                  rjmp .L43
676  694                    .LVL68:
677  695                    .L40:
678  696                    .LBE9:
679  697                    .LBB10:
680  698                    .LSM78:
681  699 008a 8D01                  movw r16,r26
682  700 008c 0E5F                  subi r16,lo8(-(2))
683  701 008e 1F4F                  sbci r17,hi8(-(2))
684  702                    .LVL69:
685  703                    .LSM79:
686  704 0090 6D91                  ld r22,X+
687  705 0092 7C91                  ld r23,X
688  706 0094 C701                  movw r24,r14
689  707 0096 8C0F                  add r24,r28
690  708 0098 9D1F                  adc r25,r29
691  709 009a 0E94 0000             call str2str
692  710 009e 00C0                  rjmp .L47
693  711                    .LVL70:
694  712                    .L38:
695  713                    .LBE10:
696  714                    .LBB11:
697  715                    .LSM80:
698  716 00a0 8D01                  movw r16,r26
699  717 00a2 0C5F                  subi r16,lo8(-(4))
700  718 00a4 1F4F                  sbci r17,hi8(-(4))
701  719                    .LVL71:
702  720                    .LSM81:
703  721 00a6 4D91                  ld r20,X+
704  722 00a8 5D91                  ld r21,X+
705  723 00aa 6D91                  ld r22,X+
706  724 00ac 7C91                  ld r23,X
707  725 00ae C701                  movw r24,r14
708  726 00b0 8C0F                  add r24,r28
709  727 00b2 9D1F                  adc r25,r29
710  728 00b4 0E94 0000             call float2str
711  729 00b8 00C0                  rjmp .L47
712  730                    .LVL72:
713  731                    .L48:
714  732                    .LBE11:
715  733                    .LSM82:
716  734 00ba F701                  movw r30,r14
717  735 00bc EC0F                  add r30,r28
718  736 00be FD1F                  adc r31,r29
719  737 00c0 8C91                  ld r24,X
720  738 00c2 8083                  st Z,r24
721  739                    .LSM83:
722  740 00c4 2196                  adiw r28,1
723  741 00c6 1296                  adiw r26,2
724  742                    .LVL73:
725  743                    .L43:
726  744                    .LSM84:
727  745 00c8 0894                  sec
728  746 00ca C11C                  adc r12,__zero_reg__
729  747 00cc D11C                  adc r13,__zero_reg__
730  748 00ce 00C0                  rjmp .L44
731  749                    .LVL74:
732  750                    .L34:
733  751                    .LSM85:
734  752 00d0 F701                  movw r30,r14
735  753 00d2 EC0F                  add r30,r28
736  754 00d4 FD1F                  adc r31,r29
737  755 00d6 8083                  st Z,r24
738  756                    .LSM86:
739  757 00d8 2196                  adiw r28,1
740  758                    .L44:
741  759                    .LSM87:
742  760 00da 0894                  sec
743  761 00dc C11C                  adc r12,__zero_reg__
744  762 00de D11C                  adc r13,__zero_reg__
745  763                    .LVL75:
746  764                    .L33:
747  765 00e0 F501                  movw r30,r10
748  766 00e2 EC0D                  add r30,r12
749  767 00e4 FD1D                  adc r31,r13
750  768 00e6 8081                  ld r24,Z
751  769 00e8 8823                  tst r24
752  770 00ea 01F0                  breq .+2
753  771 00ec 00C0                  rjmp .L45
754  772                    .LSM88:
755  773 00ee EC0E                  add r14,r28
756  774 00f0 FD1E                  adc r15,r29
757  775 00f2 F701                  movw r30,r14
758  776 00f4 1082                  st Z,__zero_reg__
759  777                    .L42:
760  778                    .LSM89:
761  779 00f6 CE01                  movw r24,r28
762  780                    /* epilogue start */
763  781 00f8 DF91                  pop r29
764  782 00fa CF91                  pop r28
765  783                    .LVL76:
766  784 00fc 1F91                  pop r17
767  785 00fe 0F91                  pop r16
768  786 0100 FF90                  pop r15
769  787 0102 EF90                  pop r14
770  788                    .LVL77:
771  789 0104 DF90                  pop r13
772  790 0106 CF90                  pop r12
773  791                    .LVL78:
774  792 0108 BF90                  pop r11
775  793 010a AF90                  pop r10
776  794                    .LVL79:
777  795 010c 0895                  ret
778  796                    .LFE7:
779  798                            .section        .text.sprintf,"ax",@progbits
780  799                    .global sprintf
781  801                    sprintf:
782  802                    .LFB8:
783  803                    .LSM90:
784  804                    .LVL80:
785  805 0000 DF93                  push r29
786  806 0002 CF93                  push r28
787  807 0004 CDB7                  in r28,__SP_L__
788  808 0006 DEB7                  in r29,__SP_H__
789  809                    /* prologue: function */
790  810                    /* frame size = 0 */
791  811                    .LSM91:
792  812 0008 8D81                  ldd r24,Y+5
793  813 000a 9E81                  ldd r25,Y+6
794  814 000c 6F81                  ldd r22,Y+7
795  815 000e 7885                  ldd r23,Y+8
796  816 0010 AE01                  movw r20,r28
797  817 0012 475F                  subi r20,lo8(-(9))
798  818 0014 5F4F                  sbci r21,hi8(-(9))
799  819 0016 0E94 0000             call vsprintf
800  820                    /* epilogue start */
801  821                    .LSM92:
802  822 001a CF91                  pop r28
803  823 001c DF91                  pop r29
804  824 001e 0895                  ret
805  825                    .LFE8:
806  899                    .Letext0:
807 DEFINED SYMBOLS
808                             *ABS*:0000000000000000 printf.c
809      /tmp/ccJodsgq.s:2      *ABS*:000000000000003f __SREG__
810      /tmp/ccJodsgq.s:3      *ABS*:000000000000003e __SP_H__
811      /tmp/ccJodsgq.s:4      *ABS*:000000000000003d __SP_L__
812      /tmp/ccJodsgq.s:5      *ABS*:0000000000000034 __CCP__
813      /tmp/ccJodsgq.s:6      *ABS*:0000000000000000 __tmp_reg__
814      /tmp/ccJodsgq.s:7      *ABS*:0000000000000001 __zero_reg__
815      /tmp/ccJodsgq.s:19     .text.luint2str:0000000000000000 luint2str
816      /tmp/ccJodsgq.s:180    .text.uint2str:0000000000000000 uint2str
817      /tmp/ccJodsgq.s:310    .text.int2str:0000000000000000 int2str
818      /tmp/ccJodsgq.s:462    .text.float2str:0000000000000000 float2str
819      /tmp/ccJodsgq.s:562    .text.str2str:0000000000000000 str2str
820      /tmp/ccJodsgq.s:600    .text.vsprintf:0000000000000000 vsprintf
821      /tmp/ccJodsgq.s:801    .text.sprintf:0000000000000000 sprintf
822
823 UNDEFINED SYMBOLS
824 __udivmodsi4
825 __udivmodhi4
826 __divmodhi4
827 __fixsfsi
828 __floatsisf
829 __subsf3
830 __mulsf3

UCC git Repository :: git.ucc.asn.au