My local repo of qmk firmware.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qmk_firmware/Projects/TemperatureDataLogger/Lib/FATFs/ff.lst

6298 lines
217 KiB

1 .file "ff.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
15 .Ltext0:
16 .section .text.mem_cpy,"ax",@progbits
18 mem_cpy:
19 .LFB52:
20 .LSM0:
21 .LVL0:
22 0000 CF93 push r28
23 0002 DF93 push r29
24 /* prologue: function */
25 /* frame size = 0 */
26 0004 EC01 movw r28,r24
27 .LSM1:
28 0006 20E0 ldi r18,lo8(0)
29 0008 30E0 ldi r19,hi8(0)
30 000a 00C0 rjmp .L2
31 .LVL1:
32 .L3:
33 .LSM2:
34 000c FE01 movw r30,r28
35 000e E20F add r30,r18
36 0010 F31F adc r31,r19
37 0012 DB01 movw r26,r22
38 0014 A20F add r26,r18
39 0016 B31F adc r27,r19
40 0018 8C91 ld r24,X
41 001a 8083 st Z,r24
42 001c 2F5F subi r18,lo8(-(1))
43 001e 3F4F sbci r19,hi8(-(1))
44 .LVL2:
45 .L2:
46 0020 4150 subi r20,lo8(-(-1))
47 0022 5040 sbci r21,hi8(-(-1))
48 0024 8FEF ldi r24,hi8(-1)
49 0026 4F3F cpi r20,lo8(-1)
50 0028 5807 cpc r21,r24
51 002a 01F4 brne .L3
52 /* epilogue start */
53 .LSM3:
54 002c DF91 pop r29
55 002e CF91 pop r28
56 .LVL3:
57 0030 0895 ret
58 .LFE52:
60 .section .text.mem_set,"ax",@progbits
62 mem_set:
63 .LFB53:
64 .LSM4:
65 .LVL4:
66 /* prologue: function */
67 /* frame size = 0 */
68 .LSM5:
69 0000 FC01 movw r30,r24
70 .LVL5:
71 0002 00C0 rjmp .L6
72 .LVL6:
73 .L7:
74 .LSM6:
75 0004 6193 st Z+,r22
76 .LVL7:
77 .L6:
78 0006 4150 subi r20,lo8(-(-1))
79 0008 5040 sbci r21,hi8(-(-1))
80 000a 8FEF ldi r24,hi8(-1)
81 000c 4F3F cpi r20,lo8(-1)
82 000e 5807 cpc r21,r24
83 .LVL8:
84 0010 01F4 brne .L7
85 /* epilogue start */
86 .LSM7:
87 0012 0895 ret
88 .LFE53:
90 .section .text.clust2sect,"ax",@progbits
91 .global clust2sect
93 clust2sect:
94 .LFB62:
95 .LSM8:
96 .LVL9:
97 0000 EF92 push r14
98 0002 FF92 push r15
99 0004 0F93 push r16
100 0006 1F93 push r17
101 0008 CF93 push r28
102 000a DF93 push r29
103 /* prologue: function */
104 /* frame size = 0 */
105 000c EC01 movw r28,r24
106 000e 7A01 movw r14,r20
107 0010 8B01 movw r16,r22
108 .LSM9:
109 0012 8EEF ldi r24,lo8(-2)
110 0014 9FEF ldi r25,hi8(-2)
111 0016 AFEF ldi r26,hlo8(-2)
112 0018 BFEF ldi r27,hhi8(-2)
113 .LVL10:
114 001a E80E add r14,r24
115 001c F91E adc r15,r25
116 001e 0A1F adc r16,r26
117 0020 1B1F adc r17,r27
118 .LVL11:
119 .LSM10:
120 0022 8A8D ldd r24,Y+26
121 0024 9B8D ldd r25,Y+27
122 0026 AC8D ldd r26,Y+28
123 0028 BD8D ldd r27,Y+29
124 002a 0297 sbiw r24,2
125 002c A109 sbc r26,__zero_reg__
126 002e B109 sbc r27,__zero_reg__
127 0030 E816 cp r14,r24
128 0032 F906 cpc r15,r25
129 0034 0A07 cpc r16,r26
130 0036 1B07 cpc r17,r27
131 0038 00F0 brlo .L10
132 003a 20E0 ldi r18,lo8(0)
133 003c 30E0 ldi r19,hi8(0)
134 003e 40E0 ldi r20,hlo8(0)
135 0040 50E0 ldi r21,hhi8(0)
136 0042 00C0 rjmp .L11
137 .L10:
138 .LSM11:
139 0044 2A81 ldd r18,Y+2
140 0046 30E0 ldi r19,lo8(0)
141 0048 40E0 ldi r20,lo8(0)
142 004a 50E0 ldi r21,hi8(0)
143 004c C801 movw r24,r16
144 004e B701 movw r22,r14
145 0050 0E94 0000 call __mulsi3
146 0054 9B01 movw r18,r22
147 0056 AC01 movw r20,r24
148 0058 8EA1 ldd r24,Y+38
149 005a 9FA1 ldd r25,Y+39
150 005c A8A5 ldd r26,Y+40
151 005e B9A5 ldd r27,Y+41
152 0060 280F add r18,r24
153 0062 391F adc r19,r25
154 0064 4A1F adc r20,r26
155 0066 5B1F adc r21,r27
156 .L11:
157 .LSM12:
158 0068 B901 movw r22,r18
159 006a CA01 movw r24,r20
160 /* epilogue start */
161 006c DF91 pop r29
162 006e CF91 pop r28
163 .LVL12:
164 0070 1F91 pop r17
165 0072 0F91 pop r16
166 0074 FF90 pop r15
167 0076 EF90 pop r14
168 .LVL13:
169 0078 0895 ret
170 .LFE62:
172 .section .text.f_mount,"ax",@progbits
173 .global f_mount
175 f_mount:
176 .LFB72:
177 .LSM13:
178 .LVL14:
179 /* prologue: function */
180 /* frame size = 0 */
181 0000 DB01 movw r26,r22
182 .LSM14:
183 0002 8823 tst r24
184 0004 01F0 breq .L14
185 .LVL15:
186 0006 8BE0 ldi r24,lo8(11)
187 .LVL16:
188 0008 0895 ret
189 .LVL17:
190 .L14:
191 .LSM15:
192 000a E091 0000 lds r30,FatFs
193 000e F091 0000 lds r31,(FatFs)+1
194 .LVL18:
195 .LSM16:
196 0012 3097 sbiw r30,0
197 0014 01F0 breq .L16
198 .LSM17:
199 0016 1082 st Z,__zero_reg__
200 .L16:
201 .LSM18:
202 0018 1097 sbiw r26,0
203 001a 01F0 breq .L17
204 .LSM19:
205 001c 1C92 st X,__zero_reg__
206 .L17:
207 .LSM20:
208 001e B093 0000 sts (FatFs)+1,r27
209 0022 A093 0000 sts FatFs,r26
210 0026 80E0 ldi r24,lo8(0)
211 .LVL19:
212 .LSM21:
213 0028 0895 ret
214 .LFE72:
216 .section .text.validate,"ax",@progbits
218 validate:
219 .LFB71:
220 .LSM22:
221 .LVL20:
222 /* prologue: function */
223 /* frame size = 0 */
224 0000 FC01 movw r30,r24
225 .LSM23:
226 0002 0097 sbiw r24,0
227 0004 01F0 breq .L20
228 0006 8081 ld r24,Z
229 .LVL21:
230 0008 8823 tst r24
231 000a 01F0 breq .L20
232 000c 8681 ldd r24,Z+6
233 000e 9781 ldd r25,Z+7
234 0010 8617 cp r24,r22
235 0012 9707 cpc r25,r23
236 0014 01F4 brne .L20
237 .LSM24:
238 0016 8181 ldd r24,Z+1
239 0018 0E94 0000 call disk_status
240 .LVL22:
241 001c 80FD sbrc r24,0
242 001e 00C0 rjmp .L21
243 0020 80E0 ldi r24,lo8(0)
244 0022 0895 ret
245 .L21:
246 0024 83E0 ldi r24,lo8(3)
247 0026 0895 ret
248 .LVL23:
249 .L20:
250 0028 89E0 ldi r24,lo8(9)
251 .LSM25:
252 002a 0895 ret
253 .LFE71:
255 .section .text.move_window,"ax",@progbits
257 move_window:
258 .LFB56:
259 .LSM26:
260 .LVL24:
261 0000 6F92 push r6
262 0002 7F92 push r7
263 0004 8F92 push r8
264 0006 9F92 push r9
265 0008 AF92 push r10
266 000a BF92 push r11
267 000c CF92 push r12
268 000e DF92 push r13
269 0010 EF92 push r14
270 0012 FF92 push r15
271 0014 0F93 push r16
272 0016 1F93 push r17
273 0018 CF93 push r28
274 001a DF93 push r29
275 /* prologue: function */
276 /* frame size = 0 */
277 001c EC01 movw r28,r24
278 001e 4A01 movw r8,r20
279 0020 5B01 movw r10,r22
280 .LSM27:
281 0022 CAA4 ldd r12,Y+42
282 0024 DBA4 ldd r13,Y+43
283 0026 ECA4 ldd r14,Y+44
284 0028 FDA4 ldd r15,Y+45
285 .LVL25:
286 .LSM28:
287 002a C416 cp r12,r20
288 002c D506 cpc r13,r21
289 002e E606 cpc r14,r22
290 0030 F706 cpc r15,r23
291 0032 01F4 brne .+2
292 0034 00C0 rjmp .L25
293 .LVL26:
294 .LSM29:
295 0036 8C81 ldd r24,Y+4
296 0038 8823 tst r24
297 003a 01F0 breq .L26
298 .LSM30:
299 003c 8EE2 ldi r24,lo8(46)
300 003e 682E mov r6,r24
301 0040 712C mov r7,__zero_reg__
302 0042 6C0E add r6,r28
303 0044 7D1E adc r7,r29
304 0046 8981 ldd r24,Y+1
305 0048 B301 movw r22,r6
306 004a A701 movw r20,r14
307 004c 9601 movw r18,r12
308 004e 01E0 ldi r16,lo8(1)
309 0050 0E94 0000 call disk_write
310 .LVL27:
311 0054 8823 tst r24
312 0056 01F4 brne .L27
313 .LSM31:
314 0058 1C82 std Y+4,__zero_reg__
315 .LSM32:
316 005a 8E89 ldd r24,Y+22
317 005c 9F89 ldd r25,Y+23
318 005e A88D ldd r26,Y+24
319 0060 B98D ldd r27,Y+25
320 0062 2E8D ldd r18,Y+30
321 0064 3F8D ldd r19,Y+31
322 0066 48A1 ldd r20,Y+32
323 0068 59A1 ldd r21,Y+33
324 006a 820F add r24,r18
325 006c 931F adc r25,r19
326 006e A41F adc r26,r20
327 0070 B51F adc r27,r21
328 0072 C816 cp r12,r24
329 0074 D906 cpc r13,r25
330 0076 EA06 cpc r14,r26
331 0078 FB06 cpc r15,r27
332 007a 00F4 brsh .L26
333 .LBB2:
334 .LSM33:
335 007c 1B81 ldd r17,Y+3
336 .LVL28:
337 007e 00C0 rjmp .L28
338 .L29:
339 .LSM34:
340 0080 8E89 ldd r24,Y+22
341 0082 9F89 ldd r25,Y+23
342 0084 A88D ldd r26,Y+24
343 0086 B98D ldd r27,Y+25
344 0088 C80E add r12,r24
345 008a D91E adc r13,r25
346 008c EA1E adc r14,r26
347 008e FB1E adc r15,r27
348 .LSM35:
349 0090 8981 ldd r24,Y+1
350 0092 B301 movw r22,r6
351 0094 A701 movw r20,r14
352 0096 9601 movw r18,r12
353 0098 01E0 ldi r16,lo8(1)
354 009a 0E94 0000 call disk_write
355 .LSM36:
356 009e 1150 subi r17,lo8(-(-1))
357 .L28:
358 00a0 1230 cpi r17,lo8(2)
359 00a2 00F4 brsh .L29
360 .LVL29:
361 .L26:
362 .LBE2:
363 .LSM37:
364 00a4 8114 cp r8,__zero_reg__
365 00a6 9104 cpc r9,__zero_reg__
366 00a8 A104 cpc r10,__zero_reg__
367 00aa B104 cpc r11,__zero_reg__
368 00ac 01F0 breq .L25
369 .LSM38:
370 00ae BE01 movw r22,r28
371 00b0 625D subi r22,lo8(-(46))
372 00b2 7F4F sbci r23,hi8(-(46))
373 00b4 8981 ldd r24,Y+1
374 00b6 A501 movw r20,r10
375 00b8 9401 movw r18,r8
376 00ba 01E0 ldi r16,lo8(1)
377 00bc 0E94 0000 call disk_read
378 00c0 8823 tst r24
379 00c2 01F4 brne .L27
380 .LSM39:
381 00c4 8AA6 std Y+42,r8
382 00c6 9BA6 std Y+43,r9
383 00c8 ACA6 std Y+44,r10
384 00ca BDA6 std Y+45,r11
385 00cc 00C0 rjmp .L30
386 .L27:
387 00ce 81E0 ldi r24,lo8(1)
388 00d0 00C0 rjmp .L30
389 .LVL30:
390 .L25:
391 00d2 80E0 ldi r24,lo8(0)
392 .LVL31:
393 .L30:
394 /* epilogue start */
395 .LSM40:
396 00d4 DF91 pop r29
397 00d6 CF91 pop r28
398 .LVL32:
399 00d8 1F91 pop r17
400 .LVL33:
401 00da 0F91 pop r16
402 00dc FF90 pop r15
403 00de EF90 pop r14
404 00e0 DF90 pop r13
405 00e2 CF90 pop r12
406 .LVL34:
407 00e4 BF90 pop r11
408 00e6 AF90 pop r10
409 00e8 9F90 pop r9
410 00ea 8F90 pop r8
411 .LVL35:
412 00ec 7F90 pop r7
413 00ee 6F90 pop r6
414 00f0 0895 ret
415 .LFE56:
417 .section .text.put_fat,"ax",@progbits
418 .global put_fat
420 put_fat:
421 .LFB59:
422 .LSM41:
423 .LVL36:
424 0000 2F92 push r2
425 0002 3F92 push r3
426 0004 4F92 push r4
427 0006 5F92 push r5
428 0008 6F92 push r6
429 000a 7F92 push r7
430 000c 8F92 push r8
431 000e 9F92 push r9
432 0010 AF92 push r10
433 0012 BF92 push r11
434 0014 CF92 push r12
435 0016 DF92 push r13
436 0018 EF92 push r14
437 001a FF92 push r15
438 001c 0F93 push r16
439 .LVL37:
440 001e 1F93 push r17
441 0020 CF93 push r28
442 0022 DF93 push r29
443 /* prologue: function */
444 /* frame size = 0 */
445 0024 5C01 movw r10,r24
446 0026 6A01 movw r12,r20
447 0028 7B01 movw r14,r22
448 002a 3801 movw r6,r16
449 002c 4901 movw r8,r18
450 .LVL38:
451 .LSM42:
452 002e 4230 cpi r20,lo8(2)
453 0030 5105 cpc r21,__zero_reg__
454 0032 6105 cpc r22,__zero_reg__
455 0034 7105 cpc r23,__zero_reg__
456 .LVL39:
457 0036 00F4 brsh .+2
458 0038 00C0 rjmp .L33
459 .LVL40:
460 003a F501 movw r30,r10
461 003c 828D ldd r24,Z+26
462 003e 938D ldd r25,Z+27
463 0040 A48D ldd r26,Z+28
464 0042 B58D ldd r27,Z+29
465 0044 4817 cp r20,r24
466 0046 5907 cpc r21,r25
467 0048 6A07 cpc r22,r26
468 004a 7B07 cpc r23,r27
469 004c 00F0 brlo .+2
470 004e 00C0 rjmp .L33
471 .LSM43:
472 0050 268C ldd r2,Z+30
473 0052 378C ldd r3,Z+31
474 0054 40A0 ldd r4,Z+32
475 0056 51A0 ldd r5,Z+33
476 .LVL41:
477 .LSM44:
478 0058 8081 ld r24,Z
479 005a 8230 cpi r24,lo8(2)
480 005c 01F4 brne .+2
481 005e 00C0 rjmp .L36
482 0060 8330 cpi r24,lo8(3)
483 0062 01F4 brne .+2
484 0064 00C0 rjmp .L37
485 0066 8130 cpi r24,lo8(1)
486 0068 01F0 breq .L35
487 006a 22E0 ldi r18,lo8(2)
488 .LVL42:
489 006c 00C0 rjmp .L38
490 .LVL43:
491 .L35:
492 .LSM45:
493 006e EA01 movw r28,r20
494 .LVL44:
495 0070 D695 lsr r29
496 0072 C795 ror r28
497 .LVL45:
498 0074 C40F add r28,r20
499 0076 D51F adc r29,r21
500 .LSM46:
501 0078 AE01 movw r20,r28
502 .LVL46:
503 007a 452F mov r20,r21
504 007c 5527 clr r21
505 007e 4695 lsr r20
506 0080 60E0 ldi r22,lo8(0)
507 0082 70E0 ldi r23,hi8(0)
508 0084 420D add r20,r2
509 0086 531D adc r21,r3
510 0088 641D adc r22,r4
511 008a 751D adc r23,r5
512 008c C501 movw r24,r10
513 008e 0E94 0000 call move_window
514 0092 282F mov r18,r24
515 .LVL47:
516 .LSM47:
517 0094 8823 tst r24
518 0096 01F0 breq .+2
519 0098 00C0 rjmp .L38
520 .LVL48:
521 .LSM48:
522 009a DE01 movw r26,r28
523 009c B170 andi r27,hi8(511)
524 .LSM49:
525 009e 8601 movw r16,r12
526 .LVL49:
527 00a0 0170 andi r16,lo8(1)
528 00a2 1070 andi r17,hi8(1)
529 00a4 0115 cp r16,__zero_reg__
530 00a6 1105 cpc r17,__zero_reg__
531 00a8 01F0 breq .L39
532 00aa F501 movw r30,r10
533 00ac EA0F add r30,r26
534 00ae FB1F adc r31,r27
535 00b0 86A5 ldd r24,Z+46
536 .LVL50:
537 00b2 8F70 andi r24,lo8(15)
538 00b4 962D mov r25,r6
539 .LVL51:
540 00b6 9295 swap r25
541 00b8 907F andi r25,lo8(-16)
542 00ba 982B or r25,r24
543 00bc 00C0 rjmp .L40
544 .LVL52:
545 .L39:
546 00be 962D mov r25,r6
547 .LVL53:
548 .L40:
549 00c0 AA0D add r26,r10
550 00c2 BB1D adc r27,r11
551 00c4 9E96 adiw r26,46
552 00c6 9C93 st X,r25
553 .LSM50:
554 00c8 2196 adiw r28,1
555 .LVL54:
556 .LSM51:
557 00ca 81E0 ldi r24,lo8(1)
558 00cc F501 movw r30,r10
559 00ce 8483 std Z+4,r24
560 .LSM52:
561 00d0 AE01 movw r20,r28
562 00d2 452F mov r20,r21
563 00d4 5527 clr r21
564 00d6 4695 lsr r20
565 00d8 60E0 ldi r22,lo8(0)
566 00da 70E0 ldi r23,hi8(0)
567 00dc 420D add r20,r2
568 00de 531D adc r21,r3
569 00e0 641D adc r22,r4
570 00e2 751D adc r23,r5
571 00e4 C501 movw r24,r10
572 00e6 0E94 0000 call move_window
573 .LVL55:
574 00ea 282F mov r18,r24
575 .LVL56:
576 .LSM53:
577 00ec 8823 tst r24
578 00ee 01F0 breq .+2
579 00f0 00C0 rjmp .L38
580 .LVL57:
581 .LSM54:
582 00f2 D170 andi r29,hi8(511)
583 .LVL58:
584 .LSM55:
585 00f4 012B or r16,r17
586 00f6 01F0 breq .L41
587 00f8 64E0 ldi r22,4
588 00fa 9694 1: lsr r9
589 00fc 8794 ror r8
590 00fe 7794 ror r7
591 0100 6794 ror r6
592 0102 6A95 dec r22
593 0104 01F4 brne 1b
594 0106 462D mov r20,r6
595 0108 00C0 rjmp .L42
596 .L41:
597 010a F501 movw r30,r10
598 010c EC0F add r30,r28
599 010e FD1F adc r31,r29
600 0110 46A5 ldd r20,Z+46
601 0112 407F andi r20,lo8(-16)
602 0114 BB27 clr r27
603 0116 A92D mov r26,r9
604 0118 982D mov r25,r8
605 011a 872D mov r24,r7
606 .LVL59:
607 011c 8F70 andi r24,lo8(15)
608 011e 482B or r20,r24
609 .LVL60:
610 .L42:
611 0120 CA0D add r28,r10
612 0122 DB1D adc r29,r11
613 0124 4EA7 std Y+46,r20
614 0126 00C0 rjmp .L38
615 .LVL61:
616 .L36:
617 .LSM56:
618 0128 7727 clr r23
619 012a 6F2D mov r22,r15
620 012c 5E2D mov r21,r14
621 012e 4D2D mov r20,r13
622 .LVL62:
623 0130 420D add r20,r2
624 0132 531D adc r21,r3
625 0134 641D adc r22,r4
626 0136 751D adc r23,r5
627 0138 C501 movw r24,r10
628 013a 0E94 0000 call move_window
629 013e 282F mov r18,r24
630 .LVL63:
631 .LSM57:
632 0140 8823 tst r24
633 0142 01F4 brne .L38
634 .LVL64:
635 .LSM58:
636 0144 F601 movw r30,r12
637 .LVL65:
638 0146 EE0F lsl r30
639 0148 FF1F rol r31
640 014a F170 andi r31,hi8(511)
641 014c EA0D add r30,r10
642 014e FB1D adc r31,r11
643 0150 77A6 std Z+47,r7
644 0152 66A6 std Z+46,r6
645 0154 00C0 rjmp .L38
646 .LVL66:
647 .L37:
648 .LSM59:
649 0156 27E0 ldi r18,7
650 0158 7695 1: lsr r23
651 015a 6795 ror r22
652 015c 5795 ror r21
653 015e 4795 ror r20
654 0160 2A95 dec r18
655 0162 01F4 brne 1b
656 .LVL67:
657 0164 420D add r20,r2
658 0166 531D adc r21,r3
659 0168 641D adc r22,r4
660 016a 751D adc r23,r5
661 016c C501 movw r24,r10
662 016e 0E94 0000 call move_window
663 0172 282F mov r18,r24
664 .LVL68:
665 .LSM60:
666 0174 8823 tst r24
667 0176 01F4 brne .L38
668 .LVL69:
669 .LSM61:
670 0178 F601 movw r30,r12
671 .LVL70:
672 017a EE0F lsl r30
673 017c FF1F rol r31
674 017e EE0F lsl r30
675 0180 FF1F rol r31
676 0182 F170 andi r31,hi8(511)
677 0184 EA0D add r30,r10
678 0186 FB1D adc r31,r11
679 0188 66A6 std Z+46,r6
680 018a 77A6 std Z+47,r7
681 018c 80AA std Z+48,r8
682 018e 91AA std Z+49,r9
683 .LVL71:
684 .L38:
685 .LSM62:
686 0190 81E0 ldi r24,lo8(1)
687 0192 F501 movw r30,r10
688 0194 8483 std Z+4,r24
689 0196 00C0 rjmp .L43
690 .LVL72:
691 .L33:
692 0198 22E0 ldi r18,lo8(2)
693 .LVL73:
694 .L43:
695 .LSM63:
696 019a 822F mov r24,r18
697 /* epilogue start */
698 019c DF91 pop r29
699 019e CF91 pop r28
700 .LVL74:
701 01a0 1F91 pop r17
702 01a2 0F91 pop r16
703 01a4 FF90 pop r15
704 01a6 EF90 pop r14
705 01a8 DF90 pop r13
706 01aa CF90 pop r12
707 01ac BF90 pop r11
708 01ae AF90 pop r10
709 .LVL75:
710 01b0 9F90 pop r9
711 01b2 8F90 pop r8
712 01b4 7F90 pop r7
713 01b6 6F90 pop r6
714 .LVL76:
715 01b8 5F90 pop r5
716 01ba 4F90 pop r4
717 01bc 3F90 pop r3
718 01be 2F90 pop r2
719 .LVL77:
720 01c0 0895 ret
721 .LFE59:
723 .section .text.get_fat,"ax",@progbits
724 .global get_fat
726 get_fat:
727 .LFB58:
728 .LSM64:
729 .LVL78:
730 0000 7F92 push r7
731 0002 8F92 push r8
732 0004 9F92 push r9
733 0006 AF92 push r10
734 0008 BF92 push r11
735 000a CF92 push r12
736 000c DF92 push r13
737 000e EF92 push r14
738 0010 FF92 push r15
739 0012 0F93 push r16
740 0014 1F93 push r17
741 0016 CF93 push r28
742 0018 DF93 push r29
743 /* prologue: function */
744 /* frame size = 0 */
745 001a 4C01 movw r8,r24
746 001c 7A01 movw r14,r20
747 001e 8B01 movw r16,r22
748 .LSM65:
749 0020 4230 cpi r20,lo8(2)
750 0022 5105 cpc r21,__zero_reg__
751 0024 6105 cpc r22,__zero_reg__
752 0026 7105 cpc r23,__zero_reg__
753 .LVL79:
754 0028 00F4 brsh .+2
755 002a 00C0 rjmp .L46
756 002c F401 movw r30,r8
757 002e 828D ldd r24,Z+26
758 0030 938D ldd r25,Z+27
759 0032 A48D ldd r26,Z+28
760 0034 B58D ldd r27,Z+29
761 0036 4817 cp r20,r24
762 0038 5907 cpc r21,r25
763 003a 6A07 cpc r22,r26
764 003c 7B07 cpc r23,r27
765 003e 00F0 brlo .+2
766 0040 00C0 rjmp .L46
767 .LSM66:
768 0042 A68C ldd r10,Z+30
769 0044 B78C ldd r11,Z+31
770 0046 C0A0 ldd r12,Z+32
771 0048 D1A0 ldd r13,Z+33
772 .LVL80:
773 .LSM67:
774 004a 8081 ld r24,Z
775 004c 8230 cpi r24,lo8(2)
776 004e 01F4 brne .+2
777 0050 00C0 rjmp .L49
778 0052 8330 cpi r24,lo8(3)
779 0054 01F4 brne .+2
780 0056 00C0 rjmp .L50
781 0058 8130 cpi r24,lo8(1)
782 005a 01F0 breq .+2
783 005c 00C0 rjmp .L47
784 .LSM68:
785 005e EA01 movw r28,r20
786 .LVL81:
787 0060 D695 lsr r29
788 0062 C795 ror r28
789 .LVL82:
790 0064 CE0D add r28,r14
791 0066 DF1D adc r29,r15
792 .LSM69:
793 0068 AE01 movw r20,r28
794 006a 452F mov r20,r21
795 006c 5527 clr r21
796 006e 4695 lsr r20
797 0070 60E0 ldi r22,lo8(0)
798 0072 70E0 ldi r23,hi8(0)
799 0074 4A0D add r20,r10
800 0076 5B1D adc r21,r11
801 0078 6C1D adc r22,r12
802 007a 7D1D adc r23,r13
803 007c C401 movw r24,r8
804 007e 0E94 0000 call move_window
805 0082 8823 tst r24
806 0084 01F0 breq .+2
807 0086 00C0 rjmp .L47
808 .LSM70:
809 0088 FE01 movw r30,r28
810 008a F170 andi r31,hi8(511)
811 008c E80D add r30,r8
812 008e F91D adc r31,r9
813 0090 76A4 ldd r7,Z+46
814 0092 2196 adiw r28,1
815 .LVL83:
816 .LSM71:
817 0094 AE01 movw r20,r28
818 0096 452F mov r20,r21
819 0098 5527 clr r21
820 009a 4695 lsr r20
821 009c 60E0 ldi r22,lo8(0)
822 009e 70E0 ldi r23,hi8(0)
823 00a0 4A0D add r20,r10
824 00a2 5B1D adc r21,r11
825 00a4 6C1D adc r22,r12
826 00a6 7D1D adc r23,r13
827 00a8 C401 movw r24,r8
828 00aa 0E94 0000 call move_window
829 00ae 8823 tst r24
830 00b0 01F0 breq .+2
831 00b2 00C0 rjmp .L47
832 .LSM72:
833 00b4 672D mov r22,r7
834 .LVL84:
835 00b6 70E0 ldi r23,lo8(0)
836 .LVL85:
837 .LSM73:
838 00b8 D170 andi r29,hi8(511)
839 00ba C80D add r28,r8
840 00bc D91D adc r29,r9
841 00be 9EA5 ldd r25,Y+46
842 00c0 80E0 ldi r24,lo8(0)
843 00c2 682B or r22,r24
844 00c4 792B or r23,r25
845 .LVL86:
846 .LSM74:
847 00c6 C701 movw r24,r14
848 .LVL87:
849 00c8 8170 andi r24,lo8(1)
850 00ca 9070 andi r25,hi8(1)
851 00cc 892B or r24,r25
852 00ce 01F0 breq .L51
853 00d0 94E0 ldi r25,4
854 00d2 7695 1: lsr r23
855 00d4 6795 ror r22
856 00d6 9A95 dec r25
857 00d8 01F4 brne 1b
858 00da 9B01 movw r18,r22
859 00dc 00C0 rjmp .L54
860 .L51:
861 00de 9B01 movw r18,r22
862 00e0 40E0 ldi r20,lo8(0)
863 00e2 50E0 ldi r21,hi8(0)
864 00e4 3F70 andi r19,hi8(4095)
865 00e6 4070 andi r20,hlo8(4095)
866 00e8 5070 andi r21,hhi8(4095)
867 00ea 00C0 rjmp .L52
868 .LVL88:
869 .L49:
870 .LSM75:
871 00ec 452F mov r20,r21
872 00ee 562F mov r21,r22
873 00f0 672F mov r22,r23
874 00f2 7727 clr r23
875 .LVL89:
876 00f4 4A0D add r20,r10
877 00f6 5B1D adc r21,r11
878 00f8 6C1D adc r22,r12
879 00fa 7D1D adc r23,r13
880 00fc C401 movw r24,r8
881 00fe 0E94 0000 call move_window
882 0102 8823 tst r24
883 0104 01F4 brne .L47
884 .LSM76:
885 0106 F701 movw r30,r14
886 .LVL90:
887 0108 EE0F lsl r30
888 010a FF1F rol r31
889 010c F170 andi r31,hi8(511)
890 010e E80D add r30,r8
891 0110 F91D adc r31,r9
892 0112 86A5 ldd r24,Z+46
893 0114 97A5 ldd r25,Z+47
894 0116 9C01 movw r18,r24
895 .LVL91:
896 .L54:
897 0118 40E0 ldi r20,lo8(0)
898 011a 50E0 ldi r21,hi8(0)
899 011c 00C0 rjmp .L52
900 .LVL92:
901 .L50:
902 .LSM77:
903 011e B7E0 ldi r27,7
904 0120 7695 1: lsr r23
905 0122 6795 ror r22
906 0124 5795 ror r21
907 0126 4795 ror r20
908 0128 BA95 dec r27
909 012a 01F4 brne 1b
910 .LVL93:
911 012c 4A0D add r20,r10
912 012e 5B1D adc r21,r11
913 0130 6C1D adc r22,r12
914 0132 7D1D adc r23,r13
915 0134 C401 movw r24,r8
916 0136 0E94 0000 call move_window
917 013a 8823 tst r24
918 013c 01F4 brne .L47
919 .LSM78:
920 013e F701 movw r30,r14
921 .LVL94:
922 0140 EE0F lsl r30
923 0142 FF1F rol r31
924 0144 EE0F lsl r30
925 0146 FF1F rol r31
926 0148 F170 andi r31,hi8(511)
927 014a E80D add r30,r8
928 014c F91D adc r31,r9
929 014e 26A5 ldd r18,Z+46
930 0150 37A5 ldd r19,Z+47
931 0152 40A9 ldd r20,Z+48
932 0154 51A9 ldd r21,Z+49
933 0156 5F70 andi r21,hhi8(268435455)
934 0158 00C0 rjmp .L52
935 .LVL95:
936 .L46:
937 015a 21E0 ldi r18,lo8(1)
938 015c 30E0 ldi r19,hi8(1)
939 015e 40E0 ldi r20,hlo8(1)
940 0160 50E0 ldi r21,hhi8(1)
941 0162 00C0 rjmp .L52
942 .LVL96:
943 .L47:
944 0164 2FEF ldi r18,lo8(-1)
945 0166 3FEF ldi r19,hi8(-1)
946 0168 4FEF ldi r20,hlo8(-1)
947 016a 5FEF ldi r21,hhi8(-1)
948 .LVL97:
949 .L52:
950 .LSM79:
951 016c B901 movw r22,r18
952 .LVL98:
953 016e CA01 movw r24,r20
954 /* epilogue start */
955 0170 DF91 pop r29
956 0172 CF91 pop r28
957 .LVL99:
958 0174 1F91 pop r17
959 0176 0F91 pop r16
960 0178 FF90 pop r15
961 017a EF90 pop r14
962 .LVL100:
963 017c DF90 pop r13
964 017e CF90 pop r12
965 0180 BF90 pop r11
966 0182 AF90 pop r10
967 .LVL101:
968 0184 9F90 pop r9
969 0186 8F90 pop r8
970 .LVL102:
971 0188 7F90 pop r7
972 018a 0895 ret
973 .LFE58:
975 .section .text.create_chain,"ax",@progbits
977 create_chain:
978 .LFB61:
979 .LSM80:
980 .LVL103:
981 0000 2F92 push r2
982 0002 3F92 push r3
983 0004 4F92 push r4
984 0006 5F92 push r5
985 0008 6F92 push r6
986 000a 7F92 push r7
987 000c 8F92 push r8
988 000e 9F92 push r9
989 0010 AF92 push r10
990 0012 BF92 push r11
991 0014 CF92 push r12
992 0016 DF92 push r13
993 0018 EF92 push r14
994 001a FF92 push r15
995 001c 0F93 push r16
996 001e 1F93 push r17
997 0020 DF93 push r29
998 0022 CF93 push r28
999 0024 00D0 rcall .
1000 0026 00D0 rcall .
1001 0028 CDB7 in r28,__SP_L__
1002 002a DEB7 in r29,__SP_H__
1003 /* prologue: function */
1004 /* frame size = 4 */
1005 002c 1C01 movw r2,r24
1006 002e 2A01 movw r4,r20
1007 0030 3B01 movw r6,r22
1008 .LSM81:
1009 0032 DC01 movw r26,r24
1010 0034 5A96 adiw r26,26
1011 0036 8D91 ld r24,X+
1012 0038 9D91 ld r25,X+
1013 003a 0D90 ld __tmp_reg__,X+
1014 003c BC91 ld r27,X
1015 003e A02D mov r26,__tmp_reg__
1016 .LVL104:
1017 0040 8983 std Y+1,r24
1018 0042 9A83 std Y+2,r25
1019 0044 AB83 std Y+3,r26
1020 0046 BC83 std Y+4,r27
1021 .LVL105:
1022 .LSM82:
1023 0048 4115 cp r20,__zero_reg__
1024 004a 5105 cpc r21,__zero_reg__
1025 004c 6105 cpc r22,__zero_reg__
1026 004e 7105 cpc r23,__zero_reg__
1027 0050 01F4 brne .L56
1028 .LSM83:
1029 0052 F101 movw r30,r2
1030 0054 8284 ldd r8,Z+10
1031 0056 9384 ldd r9,Z+11
1032 0058 A484 ldd r10,Z+12
1033 005a B584 ldd r11,Z+13
1034 .LVL106:
1035 .LSM84:
1036 005c 8114 cp r8,__zero_reg__
1037 005e 9104 cpc r9,__zero_reg__
1038 0060 A104 cpc r10,__zero_reg__
1039 0062 B104 cpc r11,__zero_reg__
1040 0064 01F0 breq .L57
1041 0066 8816 cp r8,r24
1042 0068 9906 cpc r9,r25
1043 006a AA06 cpc r10,r26
1044 006c BB06 cpc r11,r27
1045 006e 00F4 brsh .L57
1046 0070 00C0 rjmp .L58
1047 .LVL107:
1048 .L56:
1049 .LSM85:
1050 0072 C101 movw r24,r2
1051 0074 0E94 0000 call get_fat
1052 .LVL108:
1053 0078 9B01 movw r18,r22
1054 007a AC01 movw r20,r24
1055 .LVL109:
1056 .LSM86:
1057 007c 6230 cpi r22,lo8(2)
1058 007e 7105 cpc r23,__zero_reg__
1059 0080 8105 cpc r24,__zero_reg__
1060 0082 9105 cpc r25,__zero_reg__
1061 0084 00F4 brsh .L59
1062 .LVL110:
1063 0086 21E0 ldi r18,lo8(1)
1064 0088 30E0 ldi r19,hi8(1)
1065 008a 40E0 ldi r20,hlo8(1)
1066 008c 50E0 ldi r21,hhi8(1)
1067 .LVL111:
1068 008e 00C0 rjmp .L60
1069 .LVL112:
1070 .L59:
1071 .LSM87:
1072 0090 8981 ldd r24,Y+1
1073 0092 9A81 ldd r25,Y+2
1074 0094 AB81 ldd r26,Y+3
1075 0096 BC81 ldd r27,Y+4
1076 0098 2817 cp r18,r24
1077 009a 3907 cpc r19,r25
1078 009c 4A07 cpc r20,r26
1079 009e 5B07 cpc r21,r27
1080 00a0 00F4 brsh .+2
1081 00a2 00C0 rjmp .L60
1082 .LVL113:
1083 00a4 5301 movw r10,r6
1084 00a6 4201 movw r8,r4
1085 .LVL114:
1086 00a8 00C0 rjmp .L58
1087 .LVL115:
1088 .L57:
1089 00aa 61E0 ldi r22,lo8(1)
1090 00ac 862E mov r8,r22
1091 00ae 912C mov r9,__zero_reg__
1092 00b0 A12C mov r10,__zero_reg__
1093 00b2 B12C mov r11,__zero_reg__
1094 .LVL116:
1095 .L58:
1096 00b4 7501 movw r14,r10
1097 00b6 6401 movw r12,r8
1098 .LVL117:
1099 .L64:
1100 .LSM88:
1101 00b8 0894 sec
1102 00ba C11C adc r12,__zero_reg__
1103 00bc D11C adc r13,__zero_reg__
1104 00be E11C adc r14,__zero_reg__
1105 00c0 F11C adc r15,__zero_reg__
1106 .LSM89:
1107 00c2 8981 ldd r24,Y+1
1108 00c4 9A81 ldd r25,Y+2
1109 00c6 AB81 ldd r26,Y+3
1110 00c8 BC81 ldd r27,Y+4
1111 00ca C816 cp r12,r24
1112 00cc D906 cpc r13,r25
1113 00ce EA06 cpc r14,r26
1114 00d0 FB06 cpc r15,r27
1115 00d2 00F0 brlo .L61
1116 .LSM90:
1117 00d4 92E0 ldi r25,lo8(2)
1118 00d6 8916 cp r8,r25
1119 00d8 9104 cpc r9,__zero_reg__
1120 00da A104 cpc r10,__zero_reg__
1121 00dc B104 cpc r11,__zero_reg__
1122 00de 00F4 brsh .+2
1123 00e0 00C0 rjmp .L62
1124 00e2 52E0 ldi r21,lo8(2)
1125 00e4 C52E mov r12,r21
1126 00e6 D12C mov r13,__zero_reg__
1127 00e8 E12C mov r14,__zero_reg__
1128 00ea F12C mov r15,__zero_reg__
1129 .L61:
1130 .LSM91:
1131 00ec C101 movw r24,r2
1132 00ee B701 movw r22,r14
1133 00f0 A601 movw r20,r12
1134 00f2 0E94 0000 call get_fat
1135 .LVL118:
1136 00f6 9B01 movw r18,r22
1137 00f8 AC01 movw r20,r24
1138 .LVL119:
1139 .LSM92:
1140 00fa 6115 cp r22,__zero_reg__
1141 00fc 7105 cpc r23,__zero_reg__
1142 00fe 8105 cpc r24,__zero_reg__
1143 0100 9105 cpc r25,__zero_reg__
1144 0102 01F0 breq .L63
1145 .LVL120:
1146 .LSM93:
1147 0104 6F3F cpi r22,lo8(-1)
1148 0106 AFEF ldi r26,hi8(-1)
1149 0108 7A07 cpc r23,r26
1150 010a AFEF ldi r26,hlo8(-1)
1151 010c 8A07 cpc r24,r26
1152 010e AFEF ldi r26,hhi8(-1)
1153 0110 9A07 cpc r25,r26
1154 0112 01F4 brne .+2
1155 0114 00C0 rjmp .L60
1156 0116 6130 cpi r22,lo8(1)
1157 0118 7105 cpc r23,__zero_reg__
1158 011a 8105 cpc r24,__zero_reg__
1159 011c 9105 cpc r25,__zero_reg__
1160 011e 01F4 brne .+2
1161 0120 00C0 rjmp .L60
1162 .LSM94:
1163 0122 C814 cp r12,r8
1164 0124 D904 cpc r13,r9
1165 0126 EA04 cpc r14,r10
1166 0128 FB04 cpc r15,r11
1167 012a 01F4 brne .L64
1168 012c 00C0 rjmp .L62
1169 .L63:
1170 012e BC2C mov r11,r12
1171 0130 AD2C mov r10,r13
1172 .LVL121:
1173 0132 9E2C mov r9,r14
1174 .LVL122:
1175 0134 8F2C mov r8,r15
1176 .LVL123:
1177 .LSM95:
1178 0136 C101 movw r24,r2
1179 0138 A601 movw r20,r12
1180 .LVL124:
1181 013a B701 movw r22,r14
1182 .LVL125:
1183 013c 0FEF ldi r16,lo8(268435455)
1184 013e 1FEF ldi r17,hi8(268435455)
1185 0140 2FEF ldi r18,hlo8(268435455)
1186 0142 3FE0 ldi r19,hhi8(268435455)
1187 0144 0E94 0000 call put_fat
1188 .LVL126:
1189 0148 8823 tst r24
1190 014a 01F4 brne .L65
1191 .LVL127:
1192 .LSM96:
1193 014c 4114 cp r4,__zero_reg__
1194 014e 5104 cpc r5,__zero_reg__
1195 0150 6104 cpc r6,__zero_reg__
1196 0152 7104 cpc r7,__zero_reg__
1197 0154 01F0 breq .L66
1198 .LSM97:
1199 0156 C101 movw r24,r2
1200 0158 B301 movw r22,r6
1201 015a A201 movw r20,r4
1202 015c 8601 movw r16,r12
1203 015e 9701 movw r18,r14
1204 0160 0E94 0000 call put_fat
1205 0164 8823 tst r24
1206 0166 01F4 brne .L65
1207 .L66:
1208 .LSM98:
1209 0168 F101 movw r30,r2
1210 016a B286 std Z+10,r11
1211 016c A386 std Z+11,r10
1212 016e 9486 std Z+12,r9
1213 0170 8586 std Z+13,r8
1214 .LSM99:
1215 0172 8685 ldd r24,Z+14
1216 0174 9785 ldd r25,Z+15
1217 0176 A089 ldd r26,Z+16
1218 0178 B189 ldd r27,Z+17
1219 017a 8F3F cpi r24,lo8(-1)
1220 017c FFEF ldi r31,hi8(-1)
1221 017e 9F07 cpc r25,r31
1222 0180 FFEF ldi r31,hlo8(-1)
1223 0182 AF07 cpc r26,r31
1224 0184 FFEF ldi r31,hhi8(-1)
1225 0186 BF07 cpc r27,r31
1226 0188 01F0 breq .L69
1227 .L67:
1228 .LSM100:
1229 018a 0197 sbiw r24,1
1230 018c A109 sbc r26,__zero_reg__
1231 018e B109 sbc r27,__zero_reg__
1232 0190 F101 movw r30,r2
1233 0192 8687 std Z+14,r24
1234 0194 9787 std Z+15,r25
1235 0196 A08B std Z+16,r26
1236 0198 B18B std Z+17,r27
1237 .LSM101:
1238 019a 81E0 ldi r24,lo8(1)
1239 019c 8583 std Z+5,r24
1240 .L69:
1241 019e A701 movw r20,r14
1242 01a0 9601 movw r18,r12
1243 .LVL128:
1244 01a2 00C0 rjmp .L60
1245 .LVL129:
1246 .L62:
1247 01a4 20E0 ldi r18,lo8(0)
1248 01a6 30E0 ldi r19,hi8(0)
1249 01a8 40E0 ldi r20,hlo8(0)
1250 01aa 50E0 ldi r21,hhi8(0)
1251 01ac 00C0 rjmp .L60
1252 .LVL130:
1253 .L65:
1254 01ae 2FEF ldi r18,lo8(-1)
1255 01b0 3FEF ldi r19,hi8(-1)
1256 01b2 4FEF ldi r20,hlo8(-1)
1257 01b4 5FEF ldi r21,hhi8(-1)
1258 .LVL131:
1259 .L60:
1260 .LSM102:
1261 01b6 B901 movw r22,r18
1262 .LVL132:
1263 01b8 CA01 movw r24,r20
1264 /* epilogue start */
1265 01ba 0F90 pop __tmp_reg__
1266 01bc 0F90 pop __tmp_reg__
1267 01be 0F90 pop __tmp_reg__
1268 01c0 0F90 pop __tmp_reg__
1269 01c2 CF91 pop r28
1270 01c4 DF91 pop r29
1271 01c6 1F91 pop r17
1272 01c8 0F91 pop r16
1273 01ca FF90 pop r15
1274 01cc EF90 pop r14
1275 01ce DF90 pop r13
1276 01d0 CF90 pop r12
1277 .LVL133:
1278 01d2 BF90 pop r11
1279 .LVL134:
1280 01d4 AF90 pop r10
1281 .LVL135:
1282 01d6 9F90 pop r9
1283 .LVL136:
1284 01d8 8F90 pop r8
1285 .LVL137:
1286 01da 7F90 pop r7
1287 01dc 6F90 pop r6
1288 01de 5F90 pop r5
1289 01e0 4F90 pop r4
1290 .LVL138:
1291 01e2 3F90 pop r3
1292 01e4 2F90 pop r2
1293 .LVL139:
1294 01e6 0895 ret
1295 .LFE61:
1297 .section .text.f_lseek,"ax",@progbits
1298 .global f_lseek
1300 f_lseek:
1301 .LFB78:
1302 .LSM103:
1303 .LVL140:
1304 0000 2F92 push r2
1305 0002 3F92 push r3
1306 0004 4F92 push r4
1307 0006 5F92 push r5
1308 0008 6F92 push r6
1309 000a 7F92 push r7
1310 000c 8F92 push r8
1311 000e 9F92 push r9
1312 0010 AF92 push r10
1313 0012 BF92 push r11
1314 0014 CF92 push r12
1315 0016 DF92 push r13
1316 0018 EF92 push r14
1317 001a FF92 push r15
1318 001c 0F93 push r16
1319 001e 1F93 push r17
1320 0020 DF93 push r29
1321 0022 CF93 push r28
1322 0024 00D0 rcall .
1323 0026 00D0 rcall .
1324 0028 0F92 push __tmp_reg__
1325 002a CDB7 in r28,__SP_L__
1326 002c DEB7 in r29,__SP_H__
1327 /* prologue: function */
1328 /* frame size = 5 */
1329 002e 9D83 std Y+5,r25
1330 0030 8C83 std Y+4,r24
1331 0032 3A01 movw r6,r20
1332 0034 4B01 movw r8,r22
1333 .LSM104:
1334 0036 DC01 movw r26,r24
1335 0038 1296 adiw r26,2
1336 003a 6D91 ld r22,X+
1337 003c 7C91 ld r23,X
1338 003e 1397 sbiw r26,2+1
1339 0040 8D91 ld r24,X+
1340 0042 9C91 ld r25,X
1341 .LVL141:
1342 0044 0E94 0000 call validate
1343 .LVL142:
1344 0048 8B83 std Y+3,r24
1345 .LVL143:
1346 .LSM105:
1347 004a 8823 tst r24
1348 004c 01F0 breq .+2
1349 004e 00C0 rjmp .L71
1350 .LSM106:
1351 0050 EC81 ldd r30,Y+4
1352 0052 FD81 ldd r31,Y+5
1353 0054 8481 ldd r24,Z+4
1354 0056 87FD sbrc r24,7
1355 0058 00C0 rjmp .L94
1356 .L72:
1357 .LSM107:
1358 005a AC81 ldd r26,Y+4
1359 005c BD81 ldd r27,Y+5
1360 005e 1A96 adiw r26,10
1361 0060 AD90 ld r10,X+
1362 0062 BD90 ld r11,X+
1363 0064 CD90 ld r12,X+
1364 0066 DC90 ld r13,X
1365 0068 1D97 sbiw r26,10+3
1366 .LVL144:
1367 006a A614 cp r10,r6
1368 006c B704 cpc r11,r7
1369 006e C804 cpc r12,r8
1370 0070 D904 cpc r13,r9
1371 0072 00F4 brsh .L73
1372 0074 81FF sbrs r24,1
1373 0076 00C0 rjmp .L74
1374 .L73:
1375 0078 6401 movw r12,r8
1376 007a 5301 movw r10,r6
1377 .L74:
1378 .LSM108:
1379 007c EC81 ldd r30,Y+4
1380 007e FD81 ldd r31,Y+5
1381 0080 2681 ldd r18,Z+6
1382 0082 3781 ldd r19,Z+7
1383 0084 4085 ldd r20,Z+8
1384 0086 5185 ldd r21,Z+9
1385 .LVL145:
1386 .LSM109:
1387 0088 1682 std Z+6,__zero_reg__
1388 008a 1782 std Z+7,__zero_reg__
1389 008c 1086 std Z+8,__zero_reg__
1390 008e 1186 std Z+9,__zero_reg__
1391 0090 8FEF ldi r24,lo8(-1)
1392 0092 8583 std Z+5,r24
1393 .LSM110:
1394 0094 A114 cp r10,__zero_reg__
1395 0096 B104 cpc r11,__zero_reg__
1396 0098 C104 cpc r12,__zero_reg__
1397 009a D104 cpc r13,__zero_reg__
1398 009c 01F4 brne .+2
1399 009e 00C0 rjmp .L75
1400 .LSM111:
1401 00a0 0190 ld __tmp_reg__,Z+
1402 00a2 F081 ld r31,Z
1403 00a4 E02D mov r30,__tmp_reg__
1404 00a6 FA83 std Y+2,r31
1405 00a8 E983 std Y+1,r30
1406 00aa 8281 ldd r24,Z+2
1407 00ac 682E mov r6,r24
1408 .LVL146:
1409 00ae 7724 clr r7
1410 .LVL147:
1411 00b0 8824 clr r8
1412 00b2 9924 clr r9
1413 .LVL148:
1414 00b4 09E0 ldi r16,9
1415 00b6 660C 1: lsl r6
1416 00b8 771C rol r7
1417 00ba 881C rol r8
1418 00bc 991C rol r9
1419 00be 0A95 dec r16
1420 00c0 01F4 brne 1b
1421 .LVL149:
1422 .LSM112:
1423 00c2 2115 cp r18,__zero_reg__
1424 00c4 3105 cpc r19,__zero_reg__
1425 00c6 4105 cpc r20,__zero_reg__
1426 00c8 5105 cpc r21,__zero_reg__
1427 00ca 01F0 breq .L76
1428 00cc 1901 movw r2,r18
1429 00ce 2A01 movw r4,r20
1430 00d0 0894 sec
1431 00d2 2108 sbc r2,__zero_reg__
1432 00d4 3108 sbc r3,__zero_reg__
1433 00d6 4108 sbc r4,__zero_reg__
1434 00d8 5108 sbc r5,__zero_reg__
1435 00da C601 movw r24,r12
1436 00dc B501 movw r22,r10
1437 00de 6150 subi r22,lo8(-(-1))
1438 00e0 7040 sbci r23,hi8(-(-1))
1439 00e2 8040 sbci r24,hlo8(-(-1))
1440 00e4 9040 sbci r25,hhi8(-(-1))
1441 00e6 A401 movw r20,r8
1442 00e8 9301 movw r18,r6
1443 .LVL150:
1444 00ea 0E94 0000 call __udivmodsi4
1445 00ee 7901 movw r14,r18
1446 00f0 8A01 movw r16,r20
1447 00f2 C201 movw r24,r4
1448 00f4 B101 movw r22,r2
1449 00f6 A401 movw r20,r8
1450 00f8 9301 movw r18,r6
1451 00fa 0E94 0000 call __udivmodsi4
1452 00fe E216 cp r14,r18
1453 0100 F306 cpc r15,r19
1454 0102 0407 cpc r16,r20
1455 0104 1507 cpc r17,r21
1456 0106 00F0 brlo .L76
1457 .LSM113:
1458 0108 8827 clr r24
1459 010a 9927 clr r25
1460 010c DC01 movw r26,r24
1461 010e 8619 sub r24,r6
1462 0110 9709 sbc r25,r7
1463 0112 A809 sbc r26,r8
1464 0114 B909 sbc r27,r9
1465 0116 8221 and r24,r2
1466 0118 9321 and r25,r3
1467 011a A421 and r26,r4
1468 011c B521 and r27,r5
1469 011e EC81 ldd r30,Y+4
1470 0120 FD81 ldd r31,Y+5
1471 0122 8683 std Z+6,r24
1472 0124 9783 std Z+7,r25
1473 0126 A087 std Z+8,r26
1474 0128 B187 std Z+9,r27
1475 .LSM114:
1476 012a A81A sub r10,r24
1477 012c B90A sbc r11,r25
1478 012e CA0A sbc r12,r26
1479 0130 DB0A sbc r13,r27
1480 .LSM115:
1481 0132 4289 ldd r20,Z+18
1482 0134 5389 ldd r21,Z+19
1483 0136 6489 ldd r22,Z+20
1484 0138 7589 ldd r23,Z+21
1485 .LVL151:
1486 013a 00C0 rjmp .L77
1487 .LVL152:
1488 .L76:
1489 .LSM116:
1490 013c AC81 ldd r26,Y+4
1491 013e BD81 ldd r27,Y+5
1492 0140 1E96 adiw r26,14
1493 0142 4D91 ld r20,X+
1494 0144 5D91 ld r21,X+
1495 0146 6D91 ld r22,X+
1496 0148 7C91 ld r23,X
1497 014a 5197 sbiw r26,14+3
1498 .LVL153:
1499 .LSM117:
1500 014c 4115 cp r20,__zero_reg__
1501 014e 5105 cpc r21,__zero_reg__
1502 0150 6105 cpc r22,__zero_reg__
1503 0152 7105 cpc r23,__zero_reg__
1504 0154 01F4 brne .L78
1505 .LSM118:
1506 0156 8981 ldd r24,Y+1
1507 0158 9A81 ldd r25,Y+2
1508 015a 40E0 ldi r20,lo8(0)
1509 015c 50E0 ldi r21,hi8(0)
1510 015e 60E0 ldi r22,hlo8(0)
1511 0160 70E0 ldi r23,hhi8(0)
1512 .LVL154:
1513 0162 0E94 0000 call create_chain
1514 .LVL155:
1515 0166 AB01 movw r20,r22
1516 0168 BC01 movw r22,r24
1517 .LVL156:
1518 .LSM119:
1519 016a 4130 cpi r20,lo8(1)
1520 016c 5105 cpc r21,__zero_reg__
1521 016e 6105 cpc r22,__zero_reg__
1522 0170 7105 cpc r23,__zero_reg__
1523 0172 01F4 brne .L79
1524 .L96:
1525 0174 EC81 ldd r30,Y+4
1526 0176 FD81 ldd r31,Y+5
1527 0178 8481 ldd r24,Z+4
1528 017a 8068 ori r24,lo8(-128)
1529 017c 8483 std Z+4,r24
1530 .LVL157:
1531 .L94:
1532 017e F2E0 ldi r31,lo8(2)
1533 0180 FB83 std Y+3,r31
1534 .LVL158:
1535 0182 00C0 rjmp .L71
1536 .LVL159:
1537 .L79:
1538 .LSM120:
1539 0184 4F3F cpi r20,lo8(-1)
1540 0186 8FEF ldi r24,hi8(-1)
1541 0188 5807 cpc r21,r24
1542 018a 8FEF ldi r24,hlo8(-1)
1543 018c 6807 cpc r22,r24
1544 018e 8FEF ldi r24,hhi8(-1)
1545 0190 7807 cpc r23,r24
1546 0192 01F0 breq .L97
1547 .L80:
1548 .LSM121:
1549 0194 EC81 ldd r30,Y+4
1550 0196 FD81 ldd r31,Y+5
1551 0198 4687 std Z+14,r20
1552 019a 5787 std Z+15,r21
1553 019c 608B std Z+16,r22
1554 019e 718B std Z+17,r23
1555 .LVL160:
1556 .L78:
1557 .LSM122:
1558 01a0 AC81 ldd r26,Y+4
1559 01a2 BD81 ldd r27,Y+5
1560 01a4 5296 adiw r26,18
1561 01a6 4D93 st X+,r20
1562 01a8 5D93 st X+,r21
1563 01aa 6D93 st X+,r22
1564 01ac 7C93 st X,r23
1565 01ae 5597 sbiw r26,18+3
1566 .L77:
1567 .LSM123:
1568 01b0 4115 cp r20,__zero_reg__
1569 01b2 5105 cpc r21,__zero_reg__
1570 01b4 6105 cpc r22,__zero_reg__
1571 01b6 7105 cpc r23,__zero_reg__
1572 01b8 01F0 breq .+2
1573 01ba 00C0 rjmp .L93
1574 01bc 00C0 rjmp .L75
1575 .L88:
1576 .LSM124:
1577 01be EC81 ldd r30,Y+4
1578 01c0 FD81 ldd r31,Y+5
1579 01c2 8481 ldd r24,Z+4
1580 01c4 2081 ld r18,Z
1581 01c6 3181 ldd r19,Z+1
1582 .LVL161:
1583 01c8 81FF sbrs r24,1
1584 01ca 00C0 rjmp .L82
1585 .LSM125:
1586 01cc C901 movw r24,r18
1587 01ce 0E94 0000 call create_chain
1588 .LVL162:
1589 01d2 AB01 movw r20,r22
1590 01d4 BC01 movw r22,r24
1591 .LVL163:
1592 .LSM126:
1593 01d6 4115 cp r20,__zero_reg__
1594 01d8 5105 cpc r21,__zero_reg__
1595 01da 6105 cpc r22,__zero_reg__
1596 01dc 7105 cpc r23,__zero_reg__
1597 01de 01F4 brne .L83
1598 01e0 6401 movw r12,r8
1599 01e2 5301 movw r10,r6
1600 01e4 00C0 rjmp .L84
1601 .L82:
1602 .LSM127:
1603 01e6 C901 movw r24,r18
1604 01e8 0E94 0000 call get_fat
1605 .LVL164:
1606 01ec AB01 movw r20,r22
1607 01ee BC01 movw r22,r24
1608 .LVL165:
1609 .L83:
1610 .LSM128:
1611 01f0 4F3F cpi r20,lo8(-1)
1612 01f2 FFEF ldi r31,hi8(-1)
1613 01f4 5F07 cpc r21,r31
1614 01f6 FFEF ldi r31,hlo8(-1)
1615 01f8 6F07 cpc r22,r31
1616 01fa FFEF ldi r31,hhi8(-1)
1617 01fc 7F07 cpc r23,r31
1618 01fe 01F4 brne .L85
1619 .L97:
1620 0200 AC81 ldd r26,Y+4
1621 0202 BD81 ldd r27,Y+5
1622 0204 1496 adiw r26,4
1623 0206 8C91 ld r24,X
1624 0208 1497 sbiw r26,4
1625 020a 8068 ori r24,lo8(-128)
1626 020c 1496 adiw r26,4
1627 020e 8C93 st X,r24
1628 0210 B1E0 ldi r27,lo8(1)
1629 0212 00C0 rjmp .L95
1630 .L85:
1631 .LSM129:
1632 0214 4230 cpi r20,lo8(2)
1633 0216 5105 cpc r21,__zero_reg__
1634 0218 6105 cpc r22,__zero_reg__
1635 021a 7105 cpc r23,__zero_reg__
1636 021c 00F4 brsh .+2
1637 021e 00C0 rjmp .L96
1638 0220 AC81 ldd r26,Y+4
1639 0222 BD81 ldd r27,Y+5
1640 0224 ED91 ld r30,X+
1641 0226 FC91 ld r31,X
1642 0228 828D ldd r24,Z+26
1643 022a 938D ldd r25,Z+27
1644 022c A48D ldd r26,Z+28
1645 022e B58D ldd r27,Z+29
1646 0230 4817 cp r20,r24
1647 0232 5907 cpc r21,r25
1648 0234 6A07 cpc r22,r26
1649 0236 7B07 cpc r23,r27
1650 0238 00F0 brlo .+2
1651 023a 00C0 rjmp .L96
1652 .L87:
1653 .LSM130:
1654 023c AC81 ldd r26,Y+4
1655 023e BD81 ldd r27,Y+5
1656 0240 5296 adiw r26,18
1657 0242 4D93 st X+,r20
1658 0244 5D93 st X+,r21
1659 0246 6D93 st X+,r22
1660 0248 7C93 st X,r23
1661 024a 5597 sbiw r26,18+3
1662 .LSM131:
1663 024c FD01 movw r30,r26
1664 024e 8681 ldd r24,Z+6
1665 0250 9781 ldd r25,Z+7
1666 0252 A085 ldd r26,Z+8
1667 0254 B185 ldd r27,Z+9
1668 0256 860D add r24,r6
1669 0258 971D adc r25,r7
1670 025a A81D adc r26,r8
1671 025c B91D adc r27,r9
1672 025e 8683 std Z+6,r24
1673 0260 9783 std Z+7,r25
1674 0262 A087 std Z+8,r26
1675 0264 B187 std Z+9,r27
1676 .LSM132:
1677 0266 A618 sub r10,r6
1678 0268 B708 sbc r11,r7
1679 026a C808 sbc r12,r8
1680 026c D908 sbc r13,r9
1681 .LVL166:
1682 .L93:
1683 .LSM133:
1684 026e 6A14 cp r6,r10
1685 0270 7B04 cpc r7,r11
1686 0272 8C04 cpc r8,r12
1687 0274 9D04 cpc r9,r13
1688 0276 00F4 brsh .+2
1689 0278 00C0 rjmp .L88
1690 .L84:
1691 .LSM134:
1692 027a EC81 ldd r30,Y+4
1693 027c FD81 ldd r31,Y+5
1694 027e 8681 ldd r24,Z+6
1695 0280 9781 ldd r25,Z+7
1696 0282 A085 ldd r26,Z+8
1697 0284 B185 ldd r27,Z+9
1698 0286 8A0D add r24,r10
1699 0288 9B1D adc r25,r11
1700 028a AC1D adc r26,r12
1701 028c BD1D adc r27,r13
1702 028e 8683 std Z+6,r24
1703 0290 9783 std Z+7,r25
1704 0292 A087 std Z+8,r26
1705 0294 B187 std Z+9,r27
1706 .LSM135:
1707 0296 D601 movw r26,r12
1708 0298 C501 movw r24,r10
1709 029a 19E0 ldi r17,9
1710 029c B695 1: lsr r27
1711 029e A795 ror r26
1712 02a0 9795 ror r25
1713 02a2 8795 ror r24
1714 02a4 1A95 dec r17
1715 02a6 01F4 brne 1b
1716 02a8 E82E mov r14,r24
1717 02aa 8583 std Z+5,r24
1718 .LSM136:
1719 02ac 8FEF ldi r24,lo8(511)
1720 02ae 91E0 ldi r25,hi8(511)
1721 02b0 A0E0 ldi r26,hlo8(511)
1722 02b2 B0E0 ldi r27,hhi8(511)
1723 02b4 A822 and r10,r24
1724 02b6 B922 and r11,r25
1725 02b8 CA22 and r12,r26
1726 02ba DB22 and r13,r27
1727 02bc A114 cp r10,__zero_reg__
1728 02be B104 cpc r11,__zero_reg__
1729 02c0 C104 cpc r12,__zero_reg__
1730 02c2 D104 cpc r13,__zero_reg__
1731 02c4 01F0 breq .L75
1732 .LSM137:
1733 02c6 8081 ld r24,Z
1734 02c8 9181 ldd r25,Z+1
1735 02ca 0E94 0000 call clust2sect
1736 .LVL167:
1737 .LSM138:
1738 02ce 6115 cp r22,__zero_reg__
1739 02d0 7105 cpc r23,__zero_reg__
1740 02d2 8105 cpc r24,__zero_reg__
1741 02d4 9105 cpc r25,__zero_reg__
1742 .LVL168:
1743 02d6 01F4 brne .L89
1744 02d8 AC81 ldd r26,Y+4
1745 02da BD81 ldd r27,Y+5
1746 02dc 1496 adiw r26,4
1747 02de 8C91 ld r24,X
1748 02e0 1497 sbiw r26,4
1749 02e2 8068 ori r24,lo8(-128)
1750 02e4 1496 adiw r26,4
1751 02e6 8C93 st X,r24
1752 02e8 B2E0 ldi r27,lo8(2)
1753 .LVL169:
1754 .L95:
1755 02ea BB83 std Y+3,r27
1756 .LVL170:
1757 02ec 00C0 rjmp .L71
1758 .LVL171:
1759 .L89:
1760 .LSM139:
1761 02ee 9B01 movw r18,r22
1762 02f0 AC01 movw r20,r24
1763 02f2 2E0D add r18,r14
1764 02f4 311D adc r19,__zero_reg__
1765 02f6 411D adc r20,__zero_reg__
1766 02f8 511D adc r21,__zero_reg__
1767 .LVL172:
1768 .LSM140:
1769 02fa E394 inc r14
1770 02fc EC81 ldd r30,Y+4
1771 02fe FD81 ldd r31,Y+5
1772 0300 E582 std Z+5,r14
1773 0302 00C0 rjmp .L90
1774 .LVL173:
1775 .L75:
1776 0304 20E0 ldi r18,lo8(0)
1777 0306 30E0 ldi r19,hi8(0)
1778 0308 40E0 ldi r20,hlo8(0)
1779 030a 50E0 ldi r21,hhi8(0)
1780 .LVL174:
1781 .L90:
1782 .LSM141:
1783 030c EC81 ldd r30,Y+4
1784 030e FD81 ldd r31,Y+5
1785 0310 8681 ldd r24,Z+6
1786 0312 9781 ldd r25,Z+7
1787 0314 A085 ldd r26,Z+8
1788 0316 B185 ldd r27,Z+9
1789 0318 9170 andi r25,hi8(511)
1790 031a A070 andi r26,hlo8(511)
1791 031c B070 andi r27,hhi8(511)
1792 031e 0097 sbiw r24,0
1793 0320 A105 cpc r26,__zero_reg__
1794 0322 B105 cpc r27,__zero_reg__
1795 0324 01F0 breq .L91
1796 0326 8689 ldd r24,Z+22
1797 0328 9789 ldd r25,Z+23
1798 032a A08D ldd r26,Z+24
1799 032c B18D ldd r27,Z+25
1800 032e 2817 cp r18,r24
1801 0330 3907 cpc r19,r25
1802 0332 4A07 cpc r20,r26
1803 0334 5B07 cpc r21,r27
1804 0336 01F0 breq .L91
1805 .LSM142:
1806 0338 268B std Z+22,r18
1807 033a 378B std Z+23,r19
1808 033c 408F std Z+24,r20
1809 033e 518F std Z+25,r21
1810 .L91:
1811 .LSM143:
1812 0340 EC81 ldd r30,Y+4
1813 0342 FD81 ldd r31,Y+5
1814 0344 2681 ldd r18,Z+6
1815 0346 3781 ldd r19,Z+7
1816 0348 4085 ldd r20,Z+8
1817 034a 5185 ldd r21,Z+9
1818 .LVL175:
1819 034c 8285 ldd r24,Z+10
1820 034e 9385 ldd r25,Z+11
1821 0350 A485 ldd r26,Z+12
1822 0352 B585 ldd r27,Z+13
1823 0354 8217 cp r24,r18
1824 0356 9307 cpc r25,r19
1825 0358 A407 cpc r26,r20
1826 035a B507 cpc r27,r21
1827 035c 00F4 brsh .L71
1828 .LSM144:
1829 035e 2287 std Z+10,r18
1830 0360 3387 std Z+11,r19
1831 0362 4487 std Z+12,r20
1832 0364 5587 std Z+13,r21
1833 .LSM145:
1834 0366 8481 ldd r24,Z+4
1835 0368 8062 ori r24,lo8(32)
1836 036a 8483 std Z+4,r24
1837 .LVL176:
1838 .L71:
1839 .LSM146:
1840 036c 8B81 ldd r24,Y+3
1841 /* epilogue start */
1842 036e 0F90 pop __tmp_reg__
1843 0370 0F90 pop __tmp_reg__
1844 0372 0F90 pop __tmp_reg__
1845 0374 0F90 pop __tmp_reg__
1846 0376 0F90 pop __tmp_reg__
1847 0378 CF91 pop r28
1848 037a DF91 pop r29
1849 037c 1F91 pop r17
1850 037e 0F91 pop r16
1851 0380 FF90 pop r15
1852 0382 EF90 pop r14
1853 0384 DF90 pop r13
1854 0386 CF90 pop r12
1855 0388 BF90 pop r11
1856 038a AF90 pop r10
1857 .LVL177:
1858 038c 9F90 pop r9
1859 038e 8F90 pop r8
1860 .LVL178:
1861 0390 7F90 pop r7
1862 .LVL179:
1863 0392 6F90 pop r6
1864 .LVL180:
1865 0394 5F90 pop r5
1866 0396 4F90 pop r4
1867 0398 3F90 pop r3
1868 039a 2F90 pop r2
1869 039c 0895 ret
1870 .LFE78:
1872 .section .text.dir_seek,"ax",@progbits
1874 dir_seek:
1875 .LFB63:
1876 .LSM147:
1877 .LVL181:
1878 0000 EF92 push r14
1879 0002 FF92 push r15
1880 0004 0F93 push r16
1881 0006 1F93 push r17
1882 0008 CF93 push r28
1883 000a DF93 push r29
1884 /* prologue: function */
1885 /* frame size = 0 */
1886 000c 8C01 movw r16,r24
1887 000e EB01 movw r28,r22
1888 .LSM148:
1889 0010 DC01 movw r26,r24
1890 0012 1596 adiw r26,4+1
1891 0014 7C93 st X,r23
1892 0016 6E93 st -X,r22
1893 0018 1497 sbiw r26,4
1894 .LSM149:
1895 001a 1696 adiw r26,6
1896 001c 4D91 ld r20,X+
1897 001e 5D91 ld r21,X+
1898 0020 6D91 ld r22,X+
1899 0022 7C91 ld r23,X
1900 0024 1997 sbiw r26,6+3
1901 .LVL182:
1902 .LSM150:
1903 0026 4130 cpi r20,lo8(1)
1904 0028 5105 cpc r21,__zero_reg__
1905 002a 6105 cpc r22,__zero_reg__
1906 002c 7105 cpc r23,__zero_reg__
1907 002e 01F4 brne .+2
1908 0030 00C0 rjmp .L99
1909 0032 ED91 ld r30,X+
1910 0034 FC91 ld r31,X
1911 0036 828D ldd r24,Z+26
1912 0038 938D ldd r25,Z+27
1913 003a A48D ldd r26,Z+28
1914 003c B58D ldd r27,Z+29
1915 .LVL183:
1916 003e 4817 cp r20,r24
1917 0040 5907 cpc r21,r25
1918 0042 6A07 cpc r22,r26
1919 0044 7B07 cpc r23,r27
1920 0046 00F0 brlo .+2
1921 0048 00C0 rjmp .L99
1922 .LSM151:
1923 004a 4115 cp r20,__zero_reg__
1924 004c 5105 cpc r21,__zero_reg__
1925 004e 6105 cpc r22,__zero_reg__
1926 0050 7105 cpc r23,__zero_reg__
1927 0052 01F4 brne .L100
1928 0054 8081 ld r24,Z
1929 0056 8330 cpi r24,lo8(3)
1930 0058 01F4 brne .L101
1931 .LSM152:
1932 005a 42A1 ldd r20,Z+34
1933 005c 53A1 ldd r21,Z+35
1934 005e 64A1 ldd r22,Z+36
1935 0060 75A1 ldd r23,Z+37
1936 .LSM153:
1937 0062 4115 cp r20,__zero_reg__
1938 0064 5105 cpc r21,__zero_reg__
1939 0066 6105 cpc r22,__zero_reg__
1940 0068 7105 cpc r23,__zero_reg__
1941 006a 01F4 brne .L100
1942 .L101:
1943 .LSM154:
1944 006c F801 movw r30,r16
1945 006e 1286 std Z+10,__zero_reg__
1946 0070 1386 std Z+11,__zero_reg__
1947 0072 1486 std Z+12,__zero_reg__
1948 0074 1586 std Z+13,__zero_reg__
1949 .LSM155:
1950 0076 0190 ld __tmp_reg__,Z+
1951 0078 F081 ld r31,Z
1952 007a E02D mov r30,__tmp_reg__
1953 007c 8085 ldd r24,Z+8
1954 007e 9185 ldd r25,Z+9
1955 0080 C817 cp r28,r24
1956 0082 D907 cpc r29,r25
1957 0084 00F0 brlo .+2
1958 0086 00C0 rjmp .L99
1959 .LVL184:
1960 .LSM156:
1961 0088 CE01 movw r24,r28
1962 008a A4E0 ldi r26,4
1963 008c 9695 1: lsr r25
1964 008e 8795 ror r24
1965 0090 AA95 dec r26
1966 0092 01F4 brne 1b
1967 0094 A0E0 ldi r26,lo8(0)
1968 0096 B0E0 ldi r27,hi8(0)
1969 0098 22A1 ldd r18,Z+34
1970 009a 33A1 ldd r19,Z+35
1971 009c 44A1 ldd r20,Z+36
1972 009e 55A1 ldd r21,Z+37
1973 00a0 820F add r24,r18
1974 00a2 931F adc r25,r19
1975 00a4 A41F adc r26,r20
1976 00a6 B51F adc r27,r21
1977 00a8 F801 movw r30,r16
1978 00aa 8687 std Z+14,r24
1979 00ac 9787 std Z+15,r25
1980 00ae A08B std Z+16,r26
1981 00b0 B18B std Z+17,r27
1982 00b2 00C0 rjmp .L102
1983 .LVL185:
1984 .L100:
1985 .LSM157:
1986 00b4 8281 ldd r24,Z+2
1987 00b6 E82E mov r14,r24
1988 .LVL186:
1989 00b8 FF24 clr r15
1990 .LVL187:
1991 00ba E4E0 ldi r30,4
1992 00bc EE0C 1: lsl r14
1993 00be FF1C rol r15
1994 00c0 EA95 dec r30
1995 00c2 01F4 brne 1b
1996 .LVL188:
1997 00c4 00C0 rjmp .L103
1998 .LVL189:
1999 .L106:
2000 .LSM158:
2001 00c6 0E94 0000 call get_fat
2002 .LVL190:
2003 00ca AB01 movw r20,r22
2004 00cc BC01 movw r22,r24
2005 .LVL191:
2006 .LSM159:
2007 00ce 4F3F cpi r20,lo8(-1)
2008 00d0 FFEF ldi r31,hi8(-1)
2009 00d2 5F07 cpc r21,r31
2010 00d4 FFEF ldi r31,hlo8(-1)
2011 00d6 6F07 cpc r22,r31
2012 00d8 FFEF ldi r31,hhi8(-1)
2013 00da 7F07 cpc r23,r31
2014 00dc 01F4 brne .L104
2015 00de 81E0 ldi r24,lo8(1)
2016 00e0 00C0 rjmp .L105
2017 .L104:
2018 .LSM160:
2019 00e2 4230 cpi r20,lo8(2)
2020 00e4 5105 cpc r21,__zero_reg__
2021 00e6 6105 cpc r22,__zero_reg__
2022 00e8 7105 cpc r23,__zero_reg__
2023 00ea 00F4 brsh .+2
2024 00ec 00C0 rjmp .L99
2025 00ee D801 movw r26,r16
2026 00f0 ED91 ld r30,X+
2027 00f2 FC91 ld r31,X
2028 00f4 828D ldd r24,Z+26
2029 00f6 938D ldd r25,Z+27
2030 00f8 A48D ldd r26,Z+28
2031 00fa B58D ldd r27,Z+29
2032 00fc 4817 cp r20,r24
2033 00fe 5907 cpc r21,r25
2034 0100 6A07 cpc r22,r26
2035 0102 7B07 cpc r23,r27
2036 0104 00F4 brsh .L99
2037 .LSM161:
2038 0106 CE19 sub r28,r14
2039 0108 DF09 sbc r29,r15
2040 .LVL192:
2041 .L103:
2042 010a F801 movw r30,r16
2043 010c 8081 ld r24,Z
2044 010e 9181 ldd r25,Z+1
2045 .LSM162:
2046 0110 CE15 cp r28,r14
2047 0112 DF05 cpc r29,r15
2048 0114 00F4 brsh .L106
2049 .LSM163:
2050 0116 D801 movw r26,r16
2051 0118 1A96 adiw r26,10
2052 011a 4D93 st X+,r20
2053 011c 5D93 st X+,r21
2054 011e 6D93 st X+,r22
2055 0120 7C93 st X,r23
2056 0122 1D97 sbiw r26,10+3
2057 .LSM164:
2058 0124 0E94 0000 call clust2sect
2059 .LVL193:
2060 0128 9E01 movw r18,r28
2061 012a 44E0 ldi r20,4
2062 012c 3695 1: lsr r19
2063 012e 2795 ror r18
2064 0130 4A95 dec r20
2065 0132 01F4 brne 1b
2066 0134 40E0 ldi r20,lo8(0)
2067 0136 50E0 ldi r21,hi8(0)
2068 0138 260F add r18,r22
2069 013a 371F adc r19,r23
2070 013c 481F adc r20,r24
2071 013e 591F adc r21,r25
2072 0140 F801 movw r30,r16
2073 0142 2687 std Z+14,r18
2074 0144 3787 std Z+15,r19
2075 0146 408B std Z+16,r20
2076 0148 518B std Z+17,r21
2077 .LVL194:
2078 .L102:
2079 .LSM165:
2080 014a CF70 andi r28,lo8(15)
2081 014c D070 andi r29,hi8(15)
2082 014e 85E0 ldi r24,5
2083 0150 CC0F 1: lsl r28
2084 0152 DD1F rol r29
2085 0154 8A95 dec r24
2086 0156 01F4 brne 1b
2087 0158 AE96 adiw r28,46
2088 015a D801 movw r26,r16
2089 015c 8D91 ld r24,X+
2090 015e 9C91 ld r25,X
2091 0160 1197 sbiw r26,1
2092 0162 8C0F add r24,r28
2093 0164 9D1F adc r25,r29
2094 0166 5396 adiw r26,18+1
2095 0168 9C93 st X,r25
2096 016a 8E93 st -X,r24
2097 016c 5297 sbiw r26,18
2098 016e 80E0 ldi r24,lo8(0)
2099 0170 00C0 rjmp .L105
2100 .LVL195:
2101 .L99:
2102 .LSM166:
2103 0172 82E0 ldi r24,lo8(2)
2104 .L105:
2105 /* epilogue start */
2106 .LSM167:
2107 0174 DF91 pop r29
2108 0176 CF91 pop r28
2109 .LVL196:
2110 0178 1F91 pop r17
2111 017a 0F91 pop r16
2112 .LVL197:
2113 017c FF90 pop r15
2114 .LVL198:
2115 017e EF90 pop r14
2116 .LVL199:
2117 0180 0895 ret
2118 .LFE63:
2120 .section .text.f_write,"ax",@progbits
2121 .global f_write
2123 f_write:
2124 .LFB75:
2125 .LSM168:
2126 .LVL200:
2127 0000 2F92 push r2
2128 0002 3F92 push r3
2129 0004 4F92 push r4
2130 0006 5F92 push r5
2131 0008 6F92 push r6
2132 000a 7F92 push r7
2133 000c 8F92 push r8
2134 000e 9F92 push r9
2135 0010 AF92 push r10
2136 0012 BF92 push r11
2137 0014 CF92 push r12
2138 0016 DF92 push r13
2139 0018 EF92 push r14
2140 001a FF92 push r15
2141 001c 0F93 push r16
2142 001e 1F93 push r17
2143 0020 CF93 push r28
2144 0022 DF93 push r29
2145 /* prologue: function */
2146 /* frame size = 0 */
2147 0024 EC01 movw r28,r24
2148 0026 162F mov r17,r22
2149 0028 072F mov r16,r23
2150 .LVL201:
2151 002a 4A01 movw r8,r20
2152 002c 1901 movw r2,r18
2153 .LSM169:
2154 002e F901 movw r30,r18
2155 0030 1182 std Z+1,__zero_reg__
2156 0032 1082 st Z,__zero_reg__
2157 .LSM170:
2158 0034 6A81 ldd r22,Y+2
2159 0036 7B81 ldd r23,Y+3
2160 .LVL202:
2161 0038 8881 ld r24,Y
2162 003a 9981 ldd r25,Y+1
2163 .LVL203:
2164 003c 0E94 0000 call validate
2165 .LVL204:
2166 0040 782E mov r7,r24
2167 .LVL205:
2168 .LSM171:
2169 0042 8823 tst r24
2170 0044 01F0 breq .+2
2171 0046 00C0 rjmp .L109
2172 .LVL206:
2173 .LSM172:
2174 0048 8C81 ldd r24,Y+4
2175 .LVL207:
2176 004a 87FD sbrc r24,7
2177 004c 00C0 rjmp .L136
2178 .L110:
2179 .LSM173:
2180 004e 81FD sbrc r24,1
2181 0050 00C0 rjmp .L111
2182 0052 27E0 ldi r18,lo8(7)
2183 0054 722E mov r7,r18
2184 0056 00C0 rjmp .L109
2185 .L111:
2186 .LSM174:
2187 0058 2A85 ldd r18,Y+10
2188 005a 3B85 ldd r19,Y+11
2189 005c 4C85 ldd r20,Y+12
2190 005e 5D85 ldd r21,Y+13
2191 0060 C401 movw r24,r8
2192 0062 A0E0 ldi r26,lo8(0)
2193 0064 B0E0 ldi r27,hi8(0)
2194 .LVL208:
2195 0066 820F add r24,r18
2196 0068 931F adc r25,r19
2197 006a A41F adc r26,r20
2198 006c B51F adc r27,r21
2199 .LVL209:
2200 006e 8217 cp r24,r18
2201 0070 9307 cpc r25,r19
2202 0072 A407 cpc r26,r20
2203 0074 B507 cpc r27,r21
2204 0076 00F4 brsh .L112
2205 0078 8824 clr r8
2206 007a 9924 clr r9
2207 .LVL210:
2208 .L112:
2209 .LSM175:
2210 007c 812F mov r24,r17
2211 .LVL211:
2212 007e 902F mov r25,r16
2213 .LVL212:
2214 0080 9C01 movw r18,r24
2215 .LVL213:
2216 0082 2901 movw r4,r18
2217 .LVL214:
2218 .LSM176:
2219 0084 6624 clr r6
2220 0086 6394 inc r6
2221 0088 00C0 rjmp .L113
2222 .LVL215:
2223 .L133:
2224 .LSM177:
2225 008a 2E81 ldd r18,Y+6
2226 008c 3F81 ldd r19,Y+7
2227 008e 4885 ldd r20,Y+8
2228 0090 5985 ldd r21,Y+9
2229 0092 DA01 movw r26,r20
2230 0094 C901 movw r24,r18
2231 0096 9170 andi r25,hi8(511)
2232 0098 A070 andi r26,hlo8(511)
2233 009a B070 andi r27,hhi8(511)
2234 009c 0097 sbiw r24,0
2235 009e A105 cpc r26,__zero_reg__
2236 00a0 B105 cpc r27,__zero_reg__
2237 00a2 01F0 breq .+2
2238 00a4 00C0 rjmp .L114
2239 .LSM178:
2240 00a6 E881 ld r30,Y
2241 00a8 F981 ldd r31,Y+1
2242 00aa 9D81 ldd r25,Y+5
2243 .LVL216:
2244 00ac 8281 ldd r24,Z+2
2245 00ae 9817 cp r25,r24
2246 00b0 00F4 brsh .+2
2247 00b2 00C0 rjmp .L115
2248 .LSM179:
2249 00b4 2115 cp r18,__zero_reg__
2250 00b6 3105 cpc r19,__zero_reg__
2251 00b8 4105 cpc r20,__zero_reg__
2252 00ba 5105 cpc r21,__zero_reg__
2253 00bc 01F4 brne .L116
2254 .LSM180:
2255 00be 6E85 ldd r22,Y+14
2256 00c0 7F85 ldd r23,Y+15
2257 00c2 8889 ldd r24,Y+16
2258 00c4 9989 ldd r25,Y+17
2259 .LVL217:
2260 .LSM181:
2261 00c6 6115 cp r22,__zero_reg__
2262 00c8 7105 cpc r23,__zero_reg__
2263 00ca 8105 cpc r24,__zero_reg__
2264 00cc 9105 cpc r25,__zero_reg__
2265 00ce 01F4 brne .L117
2266 .LSM182:
2267 00d0 CF01 movw r24,r30
2268 00d2 40E0 ldi r20,lo8(0)
2269 00d4 50E0 ldi r21,hi8(0)
2270 00d6 60E0 ldi r22,hlo8(0)
2271 00d8 70E0 ldi r23,hhi8(0)
2272 00da 0E94 0000 call create_chain
2273 .LVL218:
2274 00de 6E87 std Y+14,r22
2275 00e0 7F87 std Y+15,r23
2276 00e2 888B std Y+16,r24
2277 00e4 998B std Y+17,r25
2278 .LVL219:
2279 00e6 00C0 rjmp .L118
2280 .LVL220:
2281 .L116:
2282 .LSM183:
2283 00e8 4A89 ldd r20,Y+18
2284 00ea 5B89 ldd r21,Y+19
2285 00ec 6C89 ldd r22,Y+20
2286 00ee 7D89 ldd r23,Y+21
2287 00f0 CF01 movw r24,r30
2288 00f2 0E94 0000 call create_chain
2289 .LVL221:
2290 .L118:
2291 .LSM184:
2292 00f6 6115 cp r22,__zero_reg__
2293 00f8 7105 cpc r23,__zero_reg__
2294 00fa 8105 cpc r24,__zero_reg__
2295 00fc 9105 cpc r25,__zero_reg__
2296 00fe 01F4 brne .+2
2297 0100 00C0 rjmp .L119
2298 .LVL222:
2299 .L117:
2300 .LSM185:
2301 0102 6130 cpi r22,lo8(1)
2302 0104 7105 cpc r23,__zero_reg__
2303 0106 8105 cpc r24,__zero_reg__
2304 0108 9105 cpc r25,__zero_reg__
2305 010a 01F4 brne .L120
2306 .LVL223:
2307 .L138:
2308 010c 8C81 ldd r24,Y+4
2309 010e 8068 ori r24,lo8(-128)
2310 0110 8C83 std Y+4,r24
2311 .L136:
2312 0112 92E0 ldi r25,lo8(2)
2313 0114 792E mov r7,r25
2314 0116 00C0 rjmp .L109
2315 .LVL224:
2316 .L120:
2317 .LSM186:
2318 0118 6F3F cpi r22,lo8(-1)
2319 011a FFEF ldi r31,hi8(-1)
2320 011c 7F07 cpc r23,r31
2321 011e FFEF ldi r31,hlo8(-1)
2322 0120 8F07 cpc r24,r31
2323 0122 FFEF ldi r31,hhi8(-1)
2324 0124 9F07 cpc r25,r31
2325 0126 01F4 brne .+2
2326 0128 00C0 rjmp .L137
2327 .L121:
2328 .LSM187:
2329 012a 6A8B std Y+18,r22
2330 012c 7B8B std Y+19,r23
2331 012e 8C8B std Y+20,r24
2332 0130 9D8B std Y+21,r25
2333 .LSM188:
2334 0132 1D82 std Y+5,__zero_reg__
2335 .L115:
2336 .LSM189:
2337 0134 E881 ld r30,Y
2338 0136 F981 ldd r31,Y+1
2339 0138 22A5 ldd r18,Z+42
2340 013a 33A5 ldd r19,Z+43
2341 013c 44A5 ldd r20,Z+44
2342 013e 55A5 ldd r21,Z+45
2343 0140 8E89 ldd r24,Y+22
2344 0142 9F89 ldd r25,Y+23
2345 0144 A88D ldd r26,Y+24
2346 0146 B98D ldd r27,Y+25
2347 0148 2817 cp r18,r24
2348 014a 3907 cpc r19,r25
2349 014c 4A07 cpc r20,r26
2350 014e 5B07 cpc r21,r27
2351 0150 01F4 brne .L122
2352 0152 CF01 movw r24,r30
2353 0154 40E0 ldi r20,lo8(0)
2354 0156 50E0 ldi r21,hi8(0)
2355 0158 60E0 ldi r22,hlo8(0)
2356 015a 70E0 ldi r23,hhi8(0)
2357 015c 0E94 0000 call move_window
2358 .LVL225:
2359 0160 8823 tst r24
2360 0162 01F0 breq .+2
2361 0164 00C0 rjmp .L137
2362 .LVL226:
2363 .L122:
2364 .LSM190:
2365 0166 0881 ld r16,Y
2366 0168 1981 ldd r17,Y+1
2367 .LVL227:
2368 016a 4A89 ldd r20,Y+18
2369 016c 5B89 ldd r21,Y+19
2370 016e 6C89 ldd r22,Y+20
2371 0170 7D89 ldd r23,Y+21
2372 0172 C801 movw r24,r16
2373 0174 0E94 0000 call clust2sect
2374 .LVL228:
2375 .LSM191:
2376 0178 6115 cp r22,__zero_reg__
2377 017a 7105 cpc r23,__zero_reg__
2378 017c 8105 cpc r24,__zero_reg__
2379 017e 9105 cpc r25,__zero_reg__
2380 0180 01F0 breq .L138
2381 .LVL229:
2382 .L123:
2383 .LSM192:
2384 0182 3D81 ldd r19,Y+5
2385 0184 5B01 movw r10,r22
2386 0186 6C01 movw r12,r24
2387 0188 A30E add r10,r19
2388 018a B11C adc r11,__zero_reg__
2389 018c C11C adc r12,__zero_reg__
2390 018e D11C adc r13,__zero_reg__
2391 .LVL230:
2392 .LSM193:
2393 0190 7401 movw r14,r8
2394 0192 EF2C mov r14,r15
2395 0194 FF24 clr r15
2396 0196 E694 lsr r14
2397 .LSM194:
2398 0198 E114 cp r14,__zero_reg__
2399 019a F104 cpc r15,__zero_reg__
2400 019c 01F4 brne .+2
2401 019e 00C0 rjmp .L124
2402 .LSM195:
2403 01a0 F801 movw r30,r16
2404 01a2 2281 ldd r18,Z+2
2405 01a4 432F mov r20,r19
2406 01a6 50E0 ldi r21,lo8(0)
2407 01a8 C701 movw r24,r14
2408 01aa 840F add r24,r20
2409 01ac 951F adc r25,r21
2410 01ae 30E0 ldi r19,lo8(0)
2411 01b0 2817 cp r18,r24
2412 01b2 3907 cpc r19,r25
2413 01b4 00F4 brsh .L125
2414 .LSM196:
2415 01b6 7901 movw r14,r18
2416 01b8 E41A sub r14,r20
2417 01ba F50A sbc r15,r21
2418 .L125:
2419 .LSM197:
2420 01bc F801 movw r30,r16
2421 01be 8181 ldd r24,Z+1
2422 01c0 B201 movw r22,r4
2423 01c2 A601 movw r20,r12
2424 01c4 9501 movw r18,r10
2425 01c6 0E2D mov r16,r14
2426 01c8 0E94 0000 call disk_write
2427 01cc 8823 tst r24
2428 01ce 01F0 breq .+2
2429 01d0 00C0 rjmp .L137
2430 .L126:
2431 .LSM198:
2432 01d2 E881 ld r30,Y
2433 01d4 F981 ldd r31,Y+1
2434 01d6 22A5 ldd r18,Z+42
2435 01d8 33A5 ldd r19,Z+43
2436 01da 44A5 ldd r20,Z+44
2437 01dc 55A5 ldd r21,Z+45
2438 01de 2A19 sub r18,r10
2439 01e0 3B09 sbc r19,r11
2440 01e2 4C09 sbc r20,r12
2441 01e4 5D09 sbc r21,r13
2442 01e6 C701 movw r24,r14
2443 01e8 A0E0 ldi r26,lo8(0)
2444 01ea B0E0 ldi r27,hi8(0)
2445 .LVL231:
2446 01ec 2817 cp r18,r24
2447 01ee 3907 cpc r19,r25
2448 01f0 4A07 cpc r20,r26
2449 01f2 5B07 cpc r21,r27
2450 01f4 00F4 brsh .L127
2451 .LVL232:
2452 .LSM199:
2453 01f6 19E0 ldi r17,9
2454 01f8 220F 1: lsl r18
2455 01fa 331F rol r19
2456 01fc 441F rol r20
2457 01fe 551F rol r21
2458 0200 1A95 dec r17
2459 0202 01F4 brne 1b
2460 .LVL233:
2461 0204 B201 movw r22,r4
2462 0206 620F add r22,r18
2463 0208 731F adc r23,r19
2464 020a CF01 movw r24,r30
2465 .LVL234:
2466 020c 8E96 adiw r24,46
2467 020e 40E0 ldi r20,lo8(512)
2468 0210 52E0 ldi r21,hi8(512)
2469 0212 0E94 0000 call mem_cpy
2470 .LVL235:
2471 .LSM200:
2472 0216 E881 ld r30,Y
2473 0218 F981 ldd r31,Y+1
2474 021a 1482 std Z+4,__zero_reg__
2475 .LVL236:
2476 .L127:
2477 .LSM201:
2478 021c 8D81 ldd r24,Y+5
2479 021e 8E0D add r24,r14
2480 0220 8D83 std Y+5,r24
2481 .LSM202:
2482 0222 8701 movw r16,r14
2483 .LVL237:
2484 0224 102F mov r17,r16
2485 0226 0027 clr r16
2486 0228 110F lsl r17
2487 022a 00C0 rjmp .L128
2488 .LVL238:
2489 .L124:
2490 .LSM203:
2491 022c 2E81 ldd r18,Y+6
2492 022e 3F81 ldd r19,Y+7
2493 0230 4885 ldd r20,Y+8
2494 0232 5985 ldd r21,Y+9
2495 0234 8A85 ldd r24,Y+10
2496 0236 9B85 ldd r25,Y+11
2497 0238 AC85 ldd r26,Y+12
2498 023a BD85 ldd r27,Y+13
2499 023c 2817 cp r18,r24
2500 023e 3907 cpc r19,r25
2501 0240 4A07 cpc r20,r26
2502 0242 5B07 cpc r21,r27
2503 0244 00F0 brlo .L129
2504 .LSM204:
2505 0246 C801 movw r24,r16
2506 0248 40E0 ldi r20,lo8(0)
2507 024a 50E0 ldi r21,hi8(0)
2508 024c 60E0 ldi r22,hlo8(0)
2509 024e 70E0 ldi r23,hhi8(0)
2510 0250 0E94 0000 call move_window
2511 0254 8823 tst r24
2512 0256 01F4 brne .L137
2513 .L130:
2514 .LSM205:
2515 0258 E881 ld r30,Y
2516 025a F981 ldd r31,Y+1
2517 025c A2A6 std Z+42,r10
2518 025e B3A6 std Z+43,r11
2519 0260 C4A6 std Z+44,r12
2520 0262 D5A6 std Z+45,r13
2521 .L129:
2522 .LSM206:
2523 0264 AE8A std Y+22,r10
2524 0266 BF8A std Y+23,r11
2525 0268 C88E std Y+24,r12
2526 026a D98E std Y+25,r13
2527 .LSM207:
2528 026c 8D81 ldd r24,Y+5
2529 026e 8F5F subi r24,lo8(-(1))
2530 0270 8D83 std Y+5,r24
2531 .LVL239:
2532 .L114:
2533 .LSM208:
2534 0272 EE80 ldd r14,Y+6
2535 0274 FF80 ldd r15,Y+7
2536 0276 0885 ldd r16,Y+8
2537 0278 1985 ldd r17,Y+9
2538 .LVL240:
2539 .LSM209:
2540 027a 4E89 ldd r20,Y+22
2541 027c 5F89 ldd r21,Y+23
2542 027e 688D ldd r22,Y+24
2543 0280 798D ldd r23,Y+25
2544 0282 8881 ld r24,Y
2545 0284 9981 ldd r25,Y+1
2546 0286 0E94 0000 call move_window
2547 .LVL241:
2548 028a 8823 tst r24
2549 028c 01F0 breq .L131
2550 .LVL242:
2551 .L137:
2552 .LSM210:
2553 028e 8C81 ldd r24,Y+4
2554 0290 8068 ori r24,lo8(-128)
2555 0292 8C83 std Y+4,r24
2556 0294 7724 clr r7
2557 0296 7394 inc r7
2558 0298 00C0 rjmp .L109
2559 .LVL243:
2560 .L131:
2561 .LSM211:
2562 029a C701 movw r24,r14
2563 029c 9170 andi r25,hi8(511)
2564 029e 20E0 ldi r18,lo8(512)
2565 02a0 32E0 ldi r19,hi8(512)
2566 02a2 281B sub r18,r24
2567 02a4 390B sbc r19,r25
2568 02a6 8401 movw r16,r8
2569 .LVL244:
2570 02a8 2815 cp r18,r8
2571 02aa 3905 cpc r19,r9
2572 02ac 00F4 brsh .L132
2573 .LVL245:
2574 02ae 8901 movw r16,r18
2575 .L132:
2576 .LSM212:
2577 02b0 2E81 ldd r18,Y+6
2578 02b2 3F81 ldd r19,Y+7
2579 .LVL246:
2580 02b4 3170 andi r19,hi8(511)
2581 02b6 225D subi r18,lo8(-(46))
2582 02b8 3F4F sbci r19,hi8(-(46))
2583 02ba 8881 ld r24,Y
2584 02bc 9981 ldd r25,Y+1
2585 02be 820F add r24,r18
2586 02c0 931F adc r25,r19
2587 02c2 B201 movw r22,r4
2588 02c4 A801 movw r20,r16
2589 02c6 0E94 0000 call mem_cpy
2590 .LSM213:
2591 02ca E881 ld r30,Y
2592 02cc F981 ldd r31,Y+1
2593 02ce 6482 std Z+4,r6
2594 .LVL247:
2595 .L128:
2596 .LSM214:
2597 02d0 400E add r4,r16
2598 02d2 511E adc r5,r17
2599 02d4 C801 movw r24,r16
2600 02d6 A0E0 ldi r26,lo8(0)
2601 02d8 B0E0 ldi r27,hi8(0)
2602 .LVL248:
2603 02da 2E81 ldd r18,Y+6
2604 02dc 3F81 ldd r19,Y+7
2605 02de 4885 ldd r20,Y+8
2606 02e0 5985 ldd r21,Y+9
2607 02e2 280F add r18,r24
2608 02e4 391F adc r19,r25
2609 02e6 4A1F adc r20,r26
2610 02e8 5B1F adc r21,r27
2611 02ea 2E83 std Y+6,r18
2612 02ec 3F83 std Y+7,r19
2613 02ee 4887 std Y+8,r20
2614 02f0 5987 std Y+9,r21
2615 02f2 F101 movw r30,r2
2616 02f4 8081 ld r24,Z
2617 02f6 9181 ldd r25,Z+1
2618 02f8 800F add r24,r16
2619 02fa 911F adc r25,r17
2620 02fc 9183 std Z+1,r25
2621 02fe 8083 st Z,r24
2622 0300 801A sub r8,r16
2623 0302 910A sbc r9,r17
2624 .LVL249:
2625 .L113:
2626 .LSM215:
2627 0304 8114 cp r8,__zero_reg__
2628 0306 9104 cpc r9,__zero_reg__
2629 0308 01F0 breq .+2
2630 030a 00C0 rjmp .L133
2631 .LVL250:
2632 .L119:
2633 .LSM216:
2634 030c 2E81 ldd r18,Y+6
2635 030e 3F81 ldd r19,Y+7
2636 0310 4885 ldd r20,Y+8
2637 0312 5985 ldd r21,Y+9
2638 0314 8A85 ldd r24,Y+10
2639 0316 9B85 ldd r25,Y+11
2640 0318 AC85 ldd r26,Y+12
2641 031a BD85 ldd r27,Y+13
2642 031c 8217 cp r24,r18
2643 031e 9307 cpc r25,r19
2644 0320 A407 cpc r26,r20
2645 0322 B507 cpc r27,r21
2646 0324 00F4 brsh .L134
2647 0326 2A87 std Y+10,r18
2648 0328 3B87 std Y+11,r19
2649 032a 4C87 std Y+12,r20
2650 032c 5D87 std Y+13,r21
2651 .L134:
2652 .LSM217:
2653 032e 8C81 ldd r24,Y+4
2654 0330 8062 ori r24,lo8(32)
2655 0332 8C83 std Y+4,r24
2656 .LVL251:
2657 .L109:
2658 .LSM218:
2659 0334 872D mov r24,r7
2660 /* epilogue start */
2661 0336 DF91 pop r29
2662 0338 CF91 pop r28
2663 .LVL252:
2664 033a 1F91 pop r17
2665 .LVL253:
2666 033c 0F91 pop r16
2667 .LVL254:
2668 033e FF90 pop r15
2669 0340 EF90 pop r14
2670 .LVL255:
2671 0342 DF90 pop r13
2672 0344 CF90 pop r12
2673 0346 BF90 pop r11
2674 0348 AF90 pop r10
2675 .LVL256:
2676 034a 9F90 pop r9
2677 034c 8F90 pop r8
2678 .LVL257:
2679 034e 7F90 pop r7
2680 .LVL258:
2681 0350 6F90 pop r6
2682 0352 5F90 pop r5
2683 0354 4F90 pop r4
2684 .LVL259:
2685 0356 3F90 pop r3
2686 0358 2F90 pop r2
2687 .LVL260:
2688 035a 0895 ret
2689 .LFE75:
2691 .section .text.f_putc,"ax",@progbits
2692 .global f_putc
2694 f_putc:
2695 .LFB80:
2696 .LSM219:
2697 .LVL261:
2698 0000 0F93 push r16
2699 0002 1F93 push r17
2700 0004 DF93 push r29
2701 0006 CF93 push r28
2702 0008 00D0 rcall .
2703 000a 0F92 push __tmp_reg__
2704 000c CDB7 in r28,__SP_L__
2705 000e DEB7 in r29,__SP_H__
2706 /* prologue: function */
2707 /* frame size = 3 */
2708 0010 8C01 movw r16,r24
2709 .LSM220:
2710 0012 6115 cp r22,__zero_reg__
2711 0014 7105 cpc r23,__zero_reg__
2712 0016 01F0 breq .L140
2713 .LVL262:
2714 .LSM221:
2715 0018 8983 std Y+1,r24
2716 .LVL263:
2717 .LSM222:
2718 001a CB01 movw r24,r22
2719 001c BE01 movw r22,r28
2720 .LVL264:
2721 001e 6F5F subi r22,lo8(-(1))
2722 0020 7F4F sbci r23,hi8(-(1))
2723 0022 41E0 ldi r20,lo8(1)
2724 0024 50E0 ldi r21,hi8(1)
2725 0026 9E01 movw r18,r28
2726 0028 2E5F subi r18,lo8(-(2))
2727 002a 3F4F sbci r19,hi8(-(2))
2728 002c 0E94 0000 call f_write
2729 .LSM223:
2730 0030 8A81 ldd r24,Y+2
2731 0032 9B81 ldd r25,Y+3
2732 .LVL265:
2733 0034 892B or r24,r25
2734 0036 01F4 brne .L140
2735 .LVL266:
2736 0038 0FEF ldi r16,lo8(-1)
2737 003a 1FEF ldi r17,hi8(-1)
2738 .LVL267:
2739 .L140:
2740 .LSM224:
2741 003c C801 movw r24,r16
2742 .LVL268:
2743 /* epilogue start */
2744 003e 0F90 pop __tmp_reg__
2745 0040 0F90 pop __tmp_reg__
2746 0042 0F90 pop __tmp_reg__
2747 0044 CF91 pop r28
2748 0046 DF91 pop r29
2749 0048 1F91 pop r17
2750 004a 0F91 pop r16
2751 004c 0895 ret
2752 .LFE80:
2754 .section .text.f_puts,"ax",@progbits
2755 .global f_puts
2757 f_puts:
2758 .LFB81:
2759 .LSM225:
2760 .LVL269:
2761 0000 EF92 push r14
2762 0002 FF92 push r15
2763 0004 0F93 push r16
2764 0006 1F93 push r17
2765 0008 CF93 push r28
2766 000a DF93 push r29
2767 /* prologue: function */
2768 /* frame size = 0 */
2769 000c 8C01 movw r16,r24
2770 000e 7B01 movw r14,r22
2771 .LSM226:
2772 0010 C0E0 ldi r28,lo8(0)
2773 0012 D0E0 ldi r29,hi8(0)
2774 .LVL270:
2775 0014 00C0 rjmp .L143
2776 .LVL271:
2777 .L146:
2778 .LSM227:
2779 0016 90E0 ldi r25,lo8(0)
2780 0018 B701 movw r22,r14
2781 001a 0E94 0000 call f_putc
2782 001e 8F5F subi r24,lo8(-1)
2783 0020 9F4F sbci r25,hi8(-1)
2784 0022 01F4 brne .L144
2785 0024 CFEF ldi r28,lo8(-1)
2786 0026 DFEF ldi r29,hi8(-1)
2787 0028 00C0 rjmp .L145
2788 .L144:
2789 .LSM228:
2790 002a 0F5F subi r16,lo8(-(1))
2791 002c 1F4F sbci r17,hi8(-(1))
2792 002e 2196 adiw r28,1
2793 .LVL272:
2794 .L143:
2795 0030 F801 movw r30,r16
2796 0032 8081 ld r24,Z
2797 0034 8823 tst r24
2798 0036 01F4 brne .L146
2799 .L145:
2800 .LSM229:
2801 0038 CE01 movw r24,r28
2802 .LVL273:
2803 /* epilogue start */
2804 003a DF91 pop r29
2805 003c CF91 pop r28
2806 003e 1F91 pop r17
2807 0040 0F91 pop r16
2808 .LVL274:
2809 0042 FF90 pop r15
2810 0044 EF90 pop r14
2811 .LVL275:
2812 0046 0895 ret
2813 .LFE81:
2815 .section .text.f_printf,"ax",@progbits
2816 .global f_printf
2818 f_printf:
2819 .LFB82:
2820 .LSM230:
2821 .LVL276:
2822 0000 2F92 push r2
2823 0002 3F92 push r3
2824 0004 4F92 push r4
2825 0006 5F92 push r5
2826 0008 6F92 push r6
2827 000a 7F92 push r7
2828 000c 8F92 push r8
2829 000e 9F92 push r9
2830 0010 AF92 push r10
2831 0012 BF92 push r11
2832 0014 CF92 push r12
2833 0016 DF92 push r13
2834 0018 EF92 push r14
2835 001a FF92 push r15
2836 001c 0F93 push r16
2837 001e 1F93 push r17
2838 0020 DF93 push r29
2839 0022 CF93 push r28
2840 0024 CDB7 in r28,__SP_L__
2841 0026 DEB7 in r29,__SP_H__
2842 0028 6397 sbiw r28,19
2843 002a 0FB6 in __tmp_reg__,__SREG__
2844 002c F894 cli
2845 002e DEBF out __SP_H__,r29
2846 0030 0FBE out __SREG__,__tmp_reg__
2847 0032 CDBF out __SP_L__,r28
2848 /* prologue: function */
2849 /* frame size = 19 */
2850 0034 6AA4 ldd r6,Y+42
2851 0036 7BA4 ldd r7,Y+43
2852 .LSM231:
2853 0038 8E01 movw r16,r28
2854 .LVL277:
2855 003a 045D subi r16,lo8(-(44))
2856 003c 1F4F sbci r17,hi8(-(44))
2857 003e 1A8A std Y+18,__zero_reg__
2858 0040 198A std Y+17,__zero_reg__
2859 .LVL278:
2860 0042 20E0 ldi r18,lo8(0)
2861 0044 30E0 ldi r19,hi8(0)
2862 .LVL279:
2863 .LVL280:
2864 .L176:
2865 .LSM232:
2866 0046 D301 movw r26,r6
2867 0048 8C91 ld r24,X
2868 .LVL281:
2869 .LSM233:
2870 004a 8823 tst r24
2871 004c 01F4 brne .+2
2872 004e 00C0 rjmp .L149
2873 .LSM234:
2874 0050 0894 sec
2875 0052 611C adc r6,__zero_reg__
2876 0054 711C adc r7,__zero_reg__
2877 .LSM235:
2878 0056 8532 cpi r24,lo8(37)
2879 0058 01F0 breq .L150
2880 .LSM236:
2881 005a 90E0 ldi r25,lo8(0)
2882 005c 68A5 ldd r22,Y+40
2883 005e 79A5 ldd r23,Y+41
2884 0060 0E94 0000 call f_putc
2885 .LVL282:
2886 0064 9C01 movw r18,r24
2887 .LVL283:
2888 .LSM237:
2889 0066 BFEF ldi r27,hi8(-1)
2890 0068 8F3F cpi r24,lo8(-1)
2891 006a 9B07 cpc r25,r27
2892 006c 01F4 brne .L151
2893 .LVL284:
2894 006e 4801 movw r8,r16
2895 0070 00C0 rjmp .L152
2896 .L151:
2897 0072 4801 movw r8,r16
2898 0074 00C0 rjmp .L179
2899 .LVL285:
2900 .L150:
2901 .LSM238:
2902 0076 D301 movw r26,r6
2903 0078 ED91 ld r30,X+
2904 .LVL286:
2905 007a 3D01 movw r6,r26
2906 .LSM239:
2907 007c E033 cpi r30,lo8(48)
2908 007e 01F0 breq .L153
2909 0080 1B8A std Y+19,__zero_reg__
2910 .LVL287:
2911 0082 00C0 rjmp .L154
2912 .L153:
2913 .LSM240:
2914 0084 ED91 ld r30,X+
2915 0086 3D01 movw r6,r26
2916 0088 B1E0 ldi r27,lo8(1)
2917 008a BB8B std Y+19,r27
2918 .LVL288:
2919 .L154:
2920 008c AA24 clr r10
2921 008e BB24 clr r11
2922 0090 00C0 rjmp .L155
2923 .L156:
2924 .LSM241:
2925 0092 C501 movw r24,r10
2926 0094 F3E0 ldi r31,3
2927 0096 880F 1: lsl r24
2928 0098 991F rol r25
2929 009a FA95 dec r31
2930 009c 01F4 brne 1b
2931 009e AA0C lsl r10
2932 00a0 BB1C rol r11
2933 00a2 A80E add r10,r24
2934 00a4 B91E adc r11,r25
2935 00a6 AE0E add r10,r30
2936 00a8 B11C adc r11,__zero_reg__
2937 00aa E0ED ldi r30,lo8(-48)
2938 00ac FFEF ldi r31,hi8(-48)
2939 .LVL289:
2940 00ae AE0E add r10,r30
2941 00b0 BF1E adc r11,r31
2942 .LSM242:
2943 00b2 D301 movw r26,r6
2944 00b4 ED91 ld r30,X+
2945 .LVL290:
2946 00b6 3D01 movw r6,r26
2947 .L155:
2948 .LSM243:
2949 00b8 8E2F mov r24,r30
2950 00ba 8053 subi r24,lo8(-(-48))
2951 00bc 8A30 cpi r24,lo8(10)
2952 00be 00F0 brlo .L156
2953 .LSM244:
2954 00c0 EC36 cpi r30,lo8(108)
2955 00c2 01F4 brne .L157
2956 .LSM245:
2957 00c4 BB89 ldd r27,Y+19
2958 00c6 B260 ori r27,lo8(2)
2959 00c8 BB8B std Y+19,r27
2960 .LVL291:
2961 00ca D301 movw r26,r6
2962 00cc ED91 ld r30,X+
2963 00ce 3D01 movw r6,r26
2964 .L157:
2965 .LSM246:
2966 00d0 E337 cpi r30,lo8(115)
2967 00d2 01F4 brne .L158
2968 .LSM247:
2969 00d4 62E0 ldi r22,lo8(2)
2970 00d6 862E mov r8,r22
2971 00d8 912C mov r9,__zero_reg__
2972 .LVL292:
2973 00da 800E add r8,r16
2974 00dc 911E adc r9,r17
2975 00de F801 movw r30,r16
2976 .LVL293:
2977 00e0 8081 ld r24,Z
2978 00e2 9181 ldd r25,Z+1
2979 00e4 00C0 rjmp .L180
2980 .LVL294:
2981 .L158:
2982 .LSM248:
2983 00e6 E336 cpi r30,lo8(99)
2984 00e8 01F4 brne .L159
2985 .LSM249:
2986 00ea 52E0 ldi r21,lo8(2)
2987 00ec 852E mov r8,r21
2988 00ee 912C mov r9,__zero_reg__
2989 .LVL295:
2990 00f0 800E add r8,r16
2991 00f2 911E adc r9,r17
2992 00f4 D801 movw r26,r16
2993 00f6 8D91 ld r24,X+
2994 00f8 9C91 ld r25,X
2995 00fa 68A5 ldd r22,Y+40
2996 00fc 79A5 ldd r23,Y+41
2997 00fe 0E94 0000 call f_putc
2998 .LVL296:
2999 0102 9C01 movw r18,r24
3000 .LVL297:
3001 .LSM250:
3002 0104 BFEF ldi r27,hi8(-1)
3003 0106 8F3F cpi r24,lo8(-1)
3004 0108 9B07 cpc r25,r27
3005 010a 01F4 brne .+2
3006 010c 00C0 rjmp .L152
3007 .LVL298:
3008 .L179:
3009 010e 21E0 ldi r18,lo8(1)
3010 0110 30E0 ldi r19,hi8(1)
3011 .LVL299:
3012 0112 00C0 rjmp .L152
3013 .LVL300:
3014 .L159:
3015 .LSM251:
3016 0114 E436 cpi r30,lo8(100)
3017 0116 01F0 breq .L160
3018 .LSM252:
3019 0118 E537 cpi r30,lo8(117)
3020 011a 01F0 breq .L160
3021 .LSM253:
3022 011c E835 cpi r30,lo8(88)
3023 011e 01F0 breq .+2
3024 0120 00C0 rjmp .L149
3025 0122 20E1 ldi r18,lo8(16)
3026 .LVL301:
3027 0124 00C0 rjmp .L161
3028 .LVL302:
3029 .L160:
3030 0126 2AE0 ldi r18,lo8(10)
3031 .LVL303:
3032 .L161:
3033 .LSM254:
3034 0128 FB89 ldd r31,Y+19
3035 012a F1FF sbrs r31,1
3036 012c 00C0 rjmp .L162
3037 .LSM255:
3038 012e 44E0 ldi r20,lo8(4)
3039 0130 842E mov r8,r20
3040 0132 912C mov r9,__zero_reg__
3041 .LVL304:
3042 0134 800E add r8,r16
3043 0136 911E adc r9,r17
3044 0138 D801 movw r26,r16
3045 013a ED90 ld r14,X+
3046 013c FD90 ld r15,X+
3047 013e 0D91 ld r16,X+
3048 0140 1C91 ld r17,X
3049 .LSM256:
3050 0142 E436 cpi r30,lo8(100)
3051 0144 01F4 brne .L164
3052 .LVL305:
3053 0146 00C0 rjmp .L163
3054 .L162:
3055 0148 C801 movw r24,r16
3056 014a 0296 adiw r24,2
3057 .LVL306:
3058 014c D801 movw r26,r16
3059 014e 6D91 ld r22,X+
3060 0150 7C91 ld r23,X
3061 .LSM257:
3062 0152 E436 cpi r30,lo8(100)
3063 0154 01F4 brne .L165
3064 .LVL307:
3065 0156 4C01 movw r8,r24
3066 0158 7B01 movw r14,r22
3067 015a 0027 clr r16
3068 015c F7FC sbrc r15,7
3069 015e 0095 com r16
3070 0160 102F mov r17,r16
3071 0162 00C0 rjmp .L163
3072 .LVL308:
3073 .L165:
3074 0164 4C01 movw r8,r24
3075 0166 7B01 movw r14,r22
3076 .LVL309:
3077 0168 00E0 ldi r16,lo8(0)
3078 016a 10E0 ldi r17,hi8(0)
3079 .LVL310:
3080 016c 00C0 rjmp .L164
3081 .LVL311:
3082 .L163:
3083 .LSM258:
3084 016e 17FF sbrs r17,7
3085 0170 00C0 rjmp .L164
3086 .LSM259:
3087 0172 1095 com r17
3088 0174 0095 com r16
3089 0176 F094 com r15
3090 0178 E094 com r14
3091 017a E11C adc r14,__zero_reg__
3092 017c F11C adc r15,__zero_reg__
3093 017e 011D adc r16,__zero_reg__
3094 0180 111D adc r17,__zero_reg__
3095 .LSM260:
3096 0182 BB89 ldd r27,Y+19
3097 0184 B460 ori r27,lo8(4)
3098 0186 BB8B std Y+19,r27
3099 .LVL312:
3100 .L164:
3101 .LSM261:
3102 0188 188A std Y+16,__zero_reg__
3103 018a 3FE0 ldi r19,lo8(15)
3104 018c C32E mov r12,r19
3105 018e D12C mov r13,__zero_reg__
3106 .LSM262:
3107 0190 222E mov r2,r18
3108 0192 3324 clr r3
3109 0194 4424 clr r4
3110 0196 5524 clr r5
3111 .LVL313:
3112 .L169:
3113 0198 C801 movw r24,r16
3114 019a B701 movw r22,r14
3115 019c A201 movw r20,r4
3116 019e 9101 movw r18,r2
3117 .LVL314:
3118 01a0 0E94 0000 call __udivmodsi4
3119 .LVL315:
3120 01a4 862F mov r24,r22
3121 .LVL316:
3122 01a6 805D subi r24,lo8(-(48))
3123 .LSM263:
3124 01a8 8A33 cpi r24,lo8(58)
3125 01aa 00F0 brlo .L166
3126 01ac 895F subi r24,lo8(-(7))
3127 .L166:
3128 .LSM264:
3129 01ae 0894 sec
3130 01b0 C108 sbc r12,__zero_reg__
3131 01b2 D108 sbc r13,__zero_reg__
3132 01b4 E1E0 ldi r30,lo8(1)
3133 01b6 F0E0 ldi r31,hi8(1)
3134 01b8 EC0F add r30,r28
3135 01ba FD1F adc r31,r29
3136 01bc EC0D add r30,r12
3137 01be FD1D adc r31,r13
3138 01c0 8083 st Z,r24
3139 .LSM265:
3140 01c2 C114 cp r12,__zero_reg__
3141 01c4 D104 cpc r13,__zero_reg__
3142 01c6 01F0 breq .L168
3143 .LSM266:
3144 01c8 C801 movw r24,r16
3145 01ca B701 movw r22,r14
3146 01cc A201 movw r20,r4
3147 01ce 9101 movw r18,r2
3148 01d0 0E94 0000 call __udivmodsi4
3149 01d4 C901 movw r24,r18
3150 .LVL317:
3151 01d6 DA01 movw r26,r20
3152 01d8 7C01 movw r14,r24
3153 01da 8D01 movw r16,r26
3154 .LSM267:
3155 01dc E114 cp r14,__zero_reg__
3156 01de F104 cpc r15,__zero_reg__
3157 01e0 0105 cpc r16,__zero_reg__
3158 01e2 1105 cpc r17,__zero_reg__
3159 01e4 01F4 brne .L169
3160 .LSM268:
3161 01e6 EB89 ldd r30,Y+19
3162 01e8 E2FF sbrs r30,2
3163 01ea 00C0 rjmp .L168
3164 01ec 0894 sec
3165 01ee C108 sbc r12,__zero_reg__
3166 01f0 D108 sbc r13,__zero_reg__
3167 01f2 E1E0 ldi r30,lo8(1)
3168 01f4 F0E0 ldi r31,hi8(1)
3169 01f6 EC0F add r30,r28
3170 01f8 FD1F adc r31,r29
3171 01fa EC0D add r30,r12
3172 01fc FD1D adc r31,r13
3173 01fe 4DE2 ldi r20,lo8(45)
3174 0200 4083 st Z,r20
3175 .LVL318:
3176 .L168:
3177 .LSM269:
3178 0202 8FE0 ldi r24,lo8(15)
3179 0204 90E0 ldi r25,hi8(15)
3180 .LVL319:
3181 0206 8A19 sub r24,r10
3182 0208 9B09 sbc r25,r11
3183 020a 0894 sec
3184 020c C108 sbc r12,__zero_reg__
3185 020e D108 sbc r13,__zero_reg__
3186 0210 E1E0 ldi r30,lo8(1)
3187 0212 F0E0 ldi r31,hi8(1)
3188 0214 EC0F add r30,r28
3189 0216 FD1F adc r31,r29
3190 0218 EC0D add r30,r12
3191 021a FD1D adc r31,r13
3192 021c 0894 sec
3193 021e C11C adc r12,__zero_reg__
3194 0220 D11C adc r13,__zero_reg__
3195 .LSM270:
3196 0222 AB89 ldd r26,Y+19
3197 0224 2A2F mov r18,r26
3198 0226 30E0 ldi r19,lo8(0)
3199 0228 2170 andi r18,lo8(1)
3200 022a 3070 andi r19,hi8(1)
3201 022c 00C0 rjmp .L170
3202 .L174:
3203 022e 0894 sec
3204 0230 C108 sbc r12,__zero_reg__
3205 0232 D108 sbc r13,__zero_reg__
3206 0234 2115 cp r18,__zero_reg__
3207 0236 3105 cpc r19,__zero_reg__
3208 0238 01F4 brne .L171
3209 023a 40E2 ldi r20,lo8(32)
3210 023c 00C0 rjmp .L172
3211 .L171:
3212 023e 40E3 ldi r20,lo8(48)
3213 .L172:
3214 0240 4083 st Z,r20
3215 0242 3197 sbiw r30,1
3216 .L170:
3217 0244 C114 cp r12,__zero_reg__
3218 0246 D104 cpc r13,__zero_reg__
3219 0248 01F0 breq .L173
3220 024a 8C15 cp r24,r12
3221 024c 9D05 cpc r25,r13
3222 024e 04F0 brlt .L174
3223 .L173:
3224 .LSM271:
3225 0250 81E0 ldi r24,lo8(1)
3226 0252 90E0 ldi r25,hi8(1)
3227 .LVL320:
3228 0254 8C0F add r24,r28
3229 0256 9D1F adc r25,r29
3230 0258 8C0D add r24,r12
3231 025a 9D1D adc r25,r13
3232 .LVL321:
3233 .L180:
3234 025c 68A5 ldd r22,Y+40
3235 025e 79A5 ldd r23,Y+41
3236 0260 0E94 0000 call f_puts
3237 .LVL322:
3238 0264 9C01 movw r18,r24
3239 .LVL323:
3240 .L152:
3241 .LSM272:
3242 0266 E989 ldd r30,Y+17
3243 0268 FA89 ldd r31,Y+18
3244 026a E20F add r30,r18
3245 026c F31F adc r31,r19
3246 026e FA8B std Y+18,r31
3247 0270 E98B std Y+17,r30
3248 .LVL324:
3249 0272 FFEF ldi r31,hi8(-1)
3250 0274 2F3F cpi r18,lo8(-1)
3251 0276 3F07 cpc r19,r31
3252 0278 01F0 breq .L175
3253 027a 8401 movw r16,r8
3254 .LVL325:
3255 027c 00C0 rjmp .L176
3256 .LVL326:
3257 .L149:
3258 .LSM273:
3259 027e 4FEF ldi r20,hi8(-1)
3260 0280 2F3F cpi r18,lo8(-1)
3261 0282 3407 cpc r19,r20
3262 0284 01F0 breq .L175
3263 0286 2989 ldd r18,Y+17
3264 0288 3A89 ldd r19,Y+18
3265 .LVL327:
3266 .L175:
3267 .LSM274:
3268 028a C901 movw r24,r18
3269 .LVL328:
3270 /* epilogue start */
3271 028c 6396 adiw r28,19
3272 028e 0FB6 in __tmp_reg__,__SREG__
3273 0290 F894 cli
3274 0292 DEBF out __SP_H__,r29
3275 0294 0FBE out __SREG__,__tmp_reg__
3276 0296 CDBF out __SP_L__,r28
3277 0298 CF91 pop r28
3278 029a DF91 pop r29
3279 029c 1F91 pop r17
3280 029e 0F91 pop r16
3281 .LVL329:
3282 02a0 FF90 pop r15
3283 02a2 EF90 pop r14
3284 .LVL330:
3285 02a4 DF90 pop r13
3286 02a6 CF90 pop r12
3287 .LVL331:
3288 02a8 BF90 pop r11
3289 02aa AF90 pop r10
3290 .LVL332:
3291 02ac 9F90 pop r9
3292 02ae 8F90 pop r8
3293 .LVL333:
3294 02b0 7F90 pop r7
3295 02b2 6F90 pop r6
3296 .LVL334:
3297 02b4 5F90 pop r5
3298 02b6 4F90 pop r4
3299 02b8 3F90 pop r3
3300 02ba 2F90 pop r2
3301 02bc 0895 ret
3302 .LFE82:
3304 .section .text.dir_next,"ax",@progbits
3306 dir_next:
3307 .LFB64:
3308 .LSM275:
3309 .LVL335:
3310 0000 8F92 push r8
3311 0002 9F92 push r9
3312 0004 AF92 push r10
3313 0006 BF92 push r11
3314 0008 CF92 push r12
3315 000a DF92 push r13
3316 000c EF92 push r14
3317 000e FF92 push r15
3318 0010 0F93 push r16
3319 0012 1F93 push r17
3320 0014 CF93 push r28
3321 0016 DF93 push r29
3322 /* prologue: function */
3323 /* frame size = 0 */
3324 0018 EC01 movw r28,r24
3325 001a 162F mov r17,r22
3326 .LSM276:
3327 001c AC80 ldd r10,Y+4
3328 001e BD80 ldd r11,Y+5
3329 .LVL336:
3330 0020 0894 sec
3331 0022 A11C adc r10,__zero_reg__
3332 0024 B11C adc r11,__zero_reg__
3333 .LSM277:
3334 0026 A114 cp r10,__zero_reg__
3335 0028 B104 cpc r11,__zero_reg__
3336 002a 01F4 brne .+2
3337 002c 00C0 rjmp .L182
3338 .LVL337:
3339 002e 8E85 ldd r24,Y+14
3340 0030 9F85 ldd r25,Y+15
3341 0032 A889 ldd r26,Y+16
3342 0034 B989 ldd r27,Y+17
3343 0036 0097 sbiw r24,0
3344 0038 A105 cpc r26,__zero_reg__
3345 003a B105 cpc r27,__zero_reg__
3346 003c 01F4 brne .+2
3347 003e 00C0 rjmp .L182
3348 .LSM278:
3349 0040 0FE0 ldi r16,lo8(15)
3350 0042 802E mov r8,r16
3351 0044 912C mov r9,__zero_reg__
3352 0046 8A20 and r8,r10
3353 0048 9B20 and r9,r11
3354 004a 8114 cp r8,__zero_reg__
3355 004c 9104 cpc r9,__zero_reg__
3356 004e 01F0 breq .+2
3357 0050 00C0 rjmp .L183
3358 .LSM279:
3359 0052 0196 adiw r24,1
3360 0054 A11D adc r26,__zero_reg__
3361 0056 B11D adc r27,__zero_reg__
3362 0058 8E87 std Y+14,r24
3363 005a 9F87 std Y+15,r25
3364 005c A88B std Y+16,r26
3365 005e B98B std Y+17,r27
3366 .LSM280:
3367 0060 4A85 ldd r20,Y+10
3368 0062 5B85 ldd r21,Y+11
3369 0064 6C85 ldd r22,Y+12
3370 0066 7D85 ldd r23,Y+13
3371 0068 E881 ld r30,Y
3372 006a F981 ldd r31,Y+1
3373 006c 4115 cp r20,__zero_reg__
3374 006e 5105 cpc r21,__zero_reg__
3375 0070 6105 cpc r22,__zero_reg__
3376 0072 7105 cpc r23,__zero_reg__
3377 0074 01F4 brne .L184
3378 .LSM281:
3379 0076 8085 ldd r24,Z+8
3380 0078 9185 ldd r25,Z+9
3381 007a A816 cp r10,r24
3382 007c B906 cpc r11,r25
3383 007e 00F4 brsh .+2
3384 0080 00C0 rjmp .L183
3385 0082 00C0 rjmp .L182
3386 .L184:
3387 .LSM282:
3388 0084 8281 ldd r24,Z+2
3389 0086 90E0 ldi r25,lo8(0)
3390 0088 0197 sbiw r24,1
3391 008a 9501 movw r18,r10
3392 008c B4E0 ldi r27,4
3393 008e 3695 1: lsr r19
3394 0090 2795 ror r18
3395 0092 BA95 dec r27
3396 0094 01F4 brne 1b
3397 0096 8223 and r24,r18
3398 0098 9323 and r25,r19
3399 009a 892B or r24,r25
3400 009c 01F0 breq .+2
3401 009e 00C0 rjmp .L183
3402 .LSM283:
3403 00a0 CF01 movw r24,r30
3404 00a2 0E94 0000 call get_fat
3405 00a6 6B01 movw r12,r22
3406 00a8 7C01 movw r14,r24
3407 .LVL338:
3408 .LSM284:
3409 00aa 82E0 ldi r24,lo8(2)
3410 00ac C816 cp r12,r24
3411 00ae D104 cpc r13,__zero_reg__
3412 00b0 E104 cpc r14,__zero_reg__
3413 00b2 F104 cpc r15,__zero_reg__
3414 00b4 00F4 brsh .+2
3415 00b6 00C0 rjmp .L185
3416 .LSM285:
3417 00b8 9FEF ldi r25,lo8(-1)
3418 00ba C916 cp r12,r25
3419 00bc 9FEF ldi r25,hi8(-1)
3420 00be D906 cpc r13,r25
3421 00c0 9FEF ldi r25,hlo8(-1)
3422 00c2 E906 cpc r14,r25
3423 00c4 9FEF ldi r25,hhi8(-1)
3424 00c6 F906 cpc r15,r25
3425 00c8 01F4 brne .+2
3426 00ca 00C0 rjmp .L186
3427 .LSM286:
3428 00cc E881 ld r30,Y
3429 00ce F981 ldd r31,Y+1
3430 00d0 828D ldd r24,Z+26
3431 00d2 938D ldd r25,Z+27
3432 00d4 A48D ldd r26,Z+28
3433 00d6 B58D ldd r27,Z+29
3434 00d8 C816 cp r12,r24
3435 00da D906 cpc r13,r25
3436 00dc EA06 cpc r14,r26
3437 00de FB06 cpc r15,r27
3438 00e0 00F4 brsh .+2
3439 00e2 00C0 rjmp .L187
3440 .LBB3:
3441 .LSM287:
3442 00e4 1123 tst r17
3443 00e6 01F4 brne .+2
3444 00e8 00C0 rjmp .L182
3445 .LSM288:
3446 00ea 4A85 ldd r20,Y+10
3447 00ec 5B85 ldd r21,Y+11
3448 00ee 6C85 ldd r22,Y+12
3449 00f0 7D85 ldd r23,Y+13
3450 00f2 CF01 movw r24,r30
3451 00f4 0E94 0000 call create_chain
3452 00f8 6B01 movw r12,r22
3453 00fa 7C01 movw r14,r24
3454 .LSM289:
3455 00fc 6115 cp r22,__zero_reg__
3456 00fe 7105 cpc r23,__zero_reg__
3457 0100 8105 cpc r24,__zero_reg__
3458 0102 9105 cpc r25,__zero_reg__
3459 0104 01F4 brne .L188
3460 .LVL339:
3461 0106 87E0 ldi r24,lo8(7)
3462 0108 00C0 rjmp .L189
3463 .L188:
3464 .LSM290:
3465 010a 6130 cpi r22,lo8(1)
3466 010c 7105 cpc r23,__zero_reg__
3467 010e 8105 cpc r24,__zero_reg__
3468 0110 9105 cpc r25,__zero_reg__
3469 0112 01F4 brne .+2
3470 0114 00C0 rjmp .L185
3471 .LSM291:
3472 0116 6F3F cpi r22,lo8(-1)
3473 0118 FFEF ldi r31,hi8(-1)
3474 011a 7F07 cpc r23,r31
3475 011c FFEF ldi r31,hlo8(-1)
3476 011e 8F07 cpc r24,r31
3477 0120 FFEF ldi r31,hhi8(-1)
3478 0122 9F07 cpc r25,r31
3479 0124 01F4 brne .+2
3480 0126 00C0 rjmp .L186
3481 .LSM292:
3482 0128 8881 ld r24,Y
3483 012a 9981 ldd r25,Y+1
3484 012c 40E0 ldi r20,lo8(0)
3485 012e 50E0 ldi r21,hi8(0)
3486 0130 60E0 ldi r22,hlo8(0)
3487 0132 70E0 ldi r23,hhi8(0)
3488 0134 0E94 0000 call move_window
3489 .LVL340:
3490 0138 8823 tst r24
3491 013a 01F0 breq .+2
3492 013c 00C0 rjmp .L186
3493 .LSM293:
3494 013e 8881 ld r24,Y
3495 0140 9981 ldd r25,Y+1
3496 0142 8E96 adiw r24,46
3497 0144 60E0 ldi r22,lo8(0)
3498 0146 70E0 ldi r23,hi8(0)
3499 0148 40E0 ldi r20,lo8(512)
3500 014a 52E0 ldi r21,hi8(512)
3501 014c 0E94 0000 call mem_set
3502 .LSM294:
3503 0150 0881 ld r16,Y
3504 0152 1981 ldd r17,Y+1
3505 0154 C801 movw r24,r16
3506 0156 B701 movw r22,r14
3507 0158 A601 movw r20,r12
3508 015a 0E94 0000 call clust2sect
3509 015e F801 movw r30,r16
3510 0160 62A7 std Z+42,r22
3511 0162 73A7 std Z+43,r23
3512 0164 84A7 std Z+44,r24
3513 0166 95A7 std Z+45,r25
3514 0168 00E0 ldi r16,lo8(0)
3515 .LVL341:
3516 .LSM295:
3517 016a 11E0 ldi r17,lo8(1)
3518 .LVL342:
3519 016c 00C0 rjmp .L190
3520 .L191:
3521 016e 1483 std Z+4,r17
3522 .LSM296:
3523 0170 8881 ld r24,Y
3524 0172 9981 ldd r25,Y+1
3525 0174 40E0 ldi r20,lo8(0)
3526 0176 50E0 ldi r21,hi8(0)
3527 0178 60E0 ldi r22,hlo8(0)
3528 017a 70E0 ldi r23,hhi8(0)
3529 017c 0E94 0000 call move_window
3530 0180 8823 tst r24
3531 0182 01F0 breq .+2
3532 0184 00C0 rjmp .L186
3533 .LSM297:
3534 0186 E881 ld r30,Y
3535 0188 F981 ldd r31,Y+1
3536 018a 82A5 ldd r24,Z+42
3537 018c 93A5 ldd r25,Z+43
3538 018e A4A5 ldd r26,Z+44
3539 0190 B5A5 ldd r27,Z+45
3540 0192 0196 adiw r24,1
3541 0194 A11D adc r26,__zero_reg__
3542 0196 B11D adc r27,__zero_reg__
3543 0198 82A7 std Z+42,r24
3544 019a 93A7 std Z+43,r25
3545 019c A4A7 std Z+44,r26
3546 019e B5A7 std Z+45,r27
3547 .LSM298:
3548 01a0 0F5F subi r16,lo8(-(1))
3549 .L190:
3550 01a2 E881 ld r30,Y
3551 01a4 F981 ldd r31,Y+1
3552 01a6 8281 ldd r24,Z+2
3553 01a8 0817 cp r16,r24
3554 01aa 00F0 brlo .L191
3555 .LSM299:
3556 01ac 82A5 ldd r24,Z+42
3557 01ae 93A5 ldd r25,Z+43
3558 01b0 A4A5 ldd r26,Z+44
3559 01b2 B5A5 ldd r27,Z+45
3560 01b4 801B sub r24,r16
3561 01b6 9109 sbc r25,__zero_reg__
3562 01b8 A109 sbc r26,__zero_reg__
3563 01ba B109 sbc r27,__zero_reg__
3564 01bc 82A7 std Z+42,r24
3565 01be 93A7 std Z+43,r25
3566 01c0 A4A7 std Z+44,r26
3567 01c2 B5A7 std Z+45,r27
3568 .LVL343:
3569 .L187:
3570 .LBE3:
3571 .LSM300:
3572 01c4 CA86 std Y+10,r12
3573 01c6 DB86 std Y+11,r13
3574 01c8 EC86 std Y+12,r14
3575 01ca FD86 std Y+13,r15
3576 .LSM301:
3577 01cc 8881 ld r24,Y
3578 01ce 9981 ldd r25,Y+1
3579 01d0 B701 movw r22,r14
3580 01d2 A601 movw r20,r12
3581 01d4 0E94 0000 call clust2sect
3582 01d8 6E87 std Y+14,r22
3583 01da 7F87 std Y+15,r23
3584 01dc 888B std Y+16,r24
3585 01de 998B std Y+17,r25
3586 .LVL344:
3587 .L183:
3588 .LSM302:
3589 01e0 BD82 std Y+5,r11
3590 01e2 AC82 std Y+4,r10
3591 .LSM303:
3592 01e4 A5E0 ldi r26,5
3593 01e6 880C 1: lsl r8
3594 01e8 991C rol r9
3595 01ea AA95 dec r26
3596 01ec 01F4 brne 1b
3597 01ee 8EE2 ldi r24,lo8(46)
3598 01f0 90E0 ldi r25,hi8(46)
3599 01f2 880E add r8,r24
3600 01f4 991E adc r9,r25
3601 01f6 8881 ld r24,Y
3602 01f8 9981 ldd r25,Y+1
3603 01fa 880D add r24,r8
3604 01fc 991D adc r25,r9
3605 01fe 9B8B std Y+19,r25
3606 0200 8A8B std Y+18,r24
3607 0202 80E0 ldi r24,lo8(0)
3608 0204 00C0 rjmp .L189
3609 .LVL345:
3610 .L182:
3611 .LSM304:
3612 0206 84E0 ldi r24,lo8(4)
3613 0208 00C0 rjmp .L189
3614 .LVL346:
3615 .L185:
3616 020a 82E0 ldi r24,lo8(2)
3617 020c 00C0 rjmp .L189
3618 .LVL347:
3619 .L186:
3620 020e 81E0 ldi r24,lo8(1)
3621 .LVL348:
3622 .L189:
3623 /* epilogue start */
3624 .LSM305:
3625 0210 DF91 pop r29
3626 0212 CF91 pop r28
3627 .LVL349:
3628 0214 1F91 pop r17
3629 .LVL350:
3630 0216 0F91 pop r16
3631 .LVL351:
3632 0218 FF90 pop r15
3633 021a EF90 pop r14
3634 021c DF90 pop r13
3635 021e CF90 pop r12
3636 .LVL352:
3637 0220 BF90 pop r11
3638 0222 AF90 pop r10
3639 .LVL353:
3640 0224 9F90 pop r9
3641 0226 8F90 pop r8
3642 0228 0895 ret
3643 .LFE64:
3645 .section .text.f_read,"ax",@progbits
3646 .global f_read
3648 f_read:
3649 .LFB74:
3650 .LSM306:
3651 .LVL354:
3652 0000 2F92 push r2
3653 0002 3F92 push r3
3654 0004 5F92 push r5
3655 0006 6F92 push r6
3656 0008 7F92 push r7
3657 000a 8F92 push r8
3658 000c 9F92 push r9
3659 000e AF92 push r10
3660 0010 BF92 push r11
3661 0012 CF92 push r12
3662 0014 DF92 push r13
3663 0016 EF92 push r14
3664 0018 FF92 push r15
3665 001a 0F93 push r16
3666 001c 1F93 push r17
3667 001e CF93 push r28
3668 0020 DF93 push r29
3669 /* prologue: function */
3670 /* frame size = 0 */
3671 0022 EC01 movw r28,r24
3672 0024 162F mov r17,r22
3673 0026 072F mov r16,r23
3674 .LVL355:
3675 0028 4A01 movw r8,r20
3676 002a 1901 movw r2,r18
3677 .LSM307:
3678 002c F901 movw r30,r18
3679 002e 1182 std Z+1,__zero_reg__
3680 0030 1082 st Z,__zero_reg__
3681 .LSM308:
3682 0032 6A81 ldd r22,Y+2
3683 0034 7B81 ldd r23,Y+3
3684 .LVL356:
3685 0036 8881 ld r24,Y
3686 0038 9981 ldd r25,Y+1
3687 .LVL357:
3688 003a 0E94 0000 call validate
3689 .LVL358:
3690 003e 582E mov r5,r24
3691 .LVL359:
3692 .LSM309:
3693 0040 8823 tst r24
3694 0042 01F0 breq .+2
3695 0044 00C0 rjmp .L194
3696 .LVL360:
3697 .LSM310:
3698 0046 8C81 ldd r24,Y+4
3699 .LVL361:
3700 0048 87FD sbrc r24,7
3701 004a 00C0 rjmp .L215
3702 .L195:
3703 .LSM311:
3704 004c 80FD sbrc r24,0
3705 004e 00C0 rjmp .L196
3706 0050 47E0 ldi r20,lo8(7)
3707 0052 542E mov r5,r20
3708 0054 00C0 rjmp .L194
3709 .L196:
3710 .LSM312:
3711 0056 2A85 ldd r18,Y+10
3712 0058 3B85 ldd r19,Y+11
3713 005a 4C85 ldd r20,Y+12
3714 005c 5D85 ldd r21,Y+13
3715 .LVL362:
3716 005e 8E81 ldd r24,Y+6
3717 0060 9F81 ldd r25,Y+7
3718 0062 A885 ldd r26,Y+8
3719 0064 B985 ldd r27,Y+9
3720 0066 281B sub r18,r24
3721 0068 390B sbc r19,r25
3722 006a 4A0B sbc r20,r26
3723 006c 5B0B sbc r21,r27
3724 .LSM313:
3725 006e C401 movw r24,r8
3726 0070 A0E0 ldi r26,lo8(0)
3727 0072 B0E0 ldi r27,hi8(0)
3728 .LVL363:
3729 0074 2817 cp r18,r24
3730 0076 3907 cpc r19,r25
3731 0078 4A07 cpc r20,r26
3732 007a 5B07 cpc r21,r27
3733 007c 00F4 brsh .L197
3734 .LVL364:
3735 007e 4901 movw r8,r18
3736 .LVL365:
3737 .L197:
3738 .LSM314:
3739 0080 812F mov r24,r17
3740 .LVL366:
3741 0082 902F mov r25,r16
3742 .LVL367:
3743 0084 9C01 movw r18,r24
3744 .LVL368:
3745 0086 3901 movw r6,r18
3746 .LVL369:
3747 0088 00C0 rjmp .L198
3748 .LVL370:
3749 .L213:
3750 .LSM315:
3751 008a 2E81 ldd r18,Y+6
3752 008c 3F81 ldd r19,Y+7
3753 008e 4885 ldd r20,Y+8
3754 0090 5985 ldd r21,Y+9
3755 0092 DA01 movw r26,r20
3756 0094 C901 movw r24,r18
3757 0096 9170 andi r25,hi8(511)
3758 0098 A070 andi r26,hlo8(511)
3759 009a B070 andi r27,hhi8(511)
3760 009c 0097 sbiw r24,0
3761 009e A105 cpc r26,__zero_reg__
3762 00a0 B105 cpc r27,__zero_reg__
3763 00a2 01F0 breq .+2
3764 00a4 00C0 rjmp .L199
3765 .LSM316:
3766 00a6 E881 ld r30,Y
3767 00a8 F981 ldd r31,Y+1
3768 00aa 9D81 ldd r25,Y+5
3769 .LVL371:
3770 00ac 8281 ldd r24,Z+2
3771 00ae 9817 cp r25,r24
3772 00b0 00F0 brlo .L200
3773 .LSM317:
3774 00b2 2115 cp r18,__zero_reg__
3775 00b4 3105 cpc r19,__zero_reg__
3776 00b6 4105 cpc r20,__zero_reg__
3777 00b8 5105 cpc r21,__zero_reg__
3778 00ba 01F4 brne .L201
3779 00bc 6E85 ldd r22,Y+14
3780 00be 7F85 ldd r23,Y+15
3781 00c0 8889 ldd r24,Y+16
3782 00c2 9989 ldd r25,Y+17
3783 .LVL372:
3784 00c4 00C0 rjmp .L202
3785 .LVL373:
3786 .L201:
3787 00c6 4A89 ldd r20,Y+18
3788 00c8 5B89 ldd r21,Y+19
3789 00ca 6C89 ldd r22,Y+20
3790 00cc 7D89 ldd r23,Y+21
3791 00ce CF01 movw r24,r30
3792 00d0 0E94 0000 call get_fat
3793 .LVL374:
3794 .L202:
3795 .LSM318:
3796 00d4 6230 cpi r22,lo8(2)
3797 00d6 7105 cpc r23,__zero_reg__
3798 00d8 8105 cpc r24,__zero_reg__
3799 00da 9105 cpc r25,__zero_reg__
3800 00dc 00F4 brsh .L203
3801 .LVL375:
3802 .L217:
3803 00de 8C81 ldd r24,Y+4
3804 00e0 8068 ori r24,lo8(-128)
3805 00e2 8C83 std Y+4,r24
3806 .L215:
3807 00e4 32E0 ldi r19,lo8(2)
3808 00e6 532E mov r5,r19
3809 00e8 00C0 rjmp .L194
3810 .LVL376:
3811 .L203:
3812 .LSM319:
3813 00ea 6F3F cpi r22,lo8(-1)
3814 00ec FFEF ldi r31,hi8(-1)
3815 00ee 7F07 cpc r23,r31
3816 00f0 FFEF ldi r31,hlo8(-1)
3817 00f2 8F07 cpc r24,r31
3818 00f4 FFEF ldi r31,hhi8(-1)
3819 00f6 9F07 cpc r25,r31
3820 00f8 01F4 brne .+2
3821 00fa 00C0 rjmp .L216
3822 .L204:
3823 .LSM320:
3824 00fc 6A8B std Y+18,r22
3825 00fe 7B8B std Y+19,r23
3826 0100 8C8B std Y+20,r24
3827 0102 9D8B std Y+21,r25
3828 .LSM321:
3829 0104 1D82 std Y+5,__zero_reg__
3830 .L200:
3831 .LSM322:
3832 0106 0881 ld r16,Y
3833 0108 1981 ldd r17,Y+1
3834 .LVL377:
3835 010a 4A89 ldd r20,Y+18
3836 010c 5B89 ldd r21,Y+19
3837 010e 6C89 ldd r22,Y+20
3838 0110 7D89 ldd r23,Y+21
3839 0112 C801 movw r24,r16
3840 0114 0E94 0000 call clust2sect
3841 .LVL378:
3842 .LSM323:
3843 0118 6115 cp r22,__zero_reg__
3844 011a 7105 cpc r23,__zero_reg__
3845 011c 8105 cpc r24,__zero_reg__
3846 011e 9105 cpc r25,__zero_reg__
3847 0120 01F0 breq .L217
3848 .LVL379:
3849 .L205:
3850 .LSM324:
3851 0122 3D81 ldd r19,Y+5
3852 0124 5B01 movw r10,r22
3853 0126 6C01 movw r12,r24
3854 0128 A30E add r10,r19
3855 012a B11C adc r11,__zero_reg__
3856 012c C11C adc r12,__zero_reg__
3857 012e D11C adc r13,__zero_reg__
3858 .LVL380:
3859 .LSM325:
3860 0130 7401 movw r14,r8
3861 0132 EF2C mov r14,r15
3862 0134 FF24 clr r15
3863 0136 E694 lsr r14
3864 .LSM326:
3865 0138 E114 cp r14,__zero_reg__
3866 013a F104 cpc r15,__zero_reg__
3867 013c 01F4 brne .+2
3868 013e 00C0 rjmp .L206
3869 .LSM327:
3870 0140 F801 movw r30,r16
3871 0142 2281 ldd r18,Z+2
3872 0144 432F mov r20,r19
3873 0146 50E0 ldi r21,lo8(0)
3874 0148 C701 movw r24,r14
3875 014a 840F add r24,r20
3876 014c 951F adc r25,r21
3877 014e 30E0 ldi r19,lo8(0)
3878 0150 2817 cp r18,r24
3879 0152 3907 cpc r19,r25
3880 0154 00F4 brsh .L207
3881 .LSM328:
3882 0156 7901 movw r14,r18
3883 0158 E41A sub r14,r20
3884 015a F50A sbc r15,r21
3885 .L207:
3886 .LSM329:
3887 015c F801 movw r30,r16
3888 015e 8181 ldd r24,Z+1
3889 0160 B301 movw r22,r6
3890 0162 A601 movw r20,r12
3891 0164 9501 movw r18,r10
3892 0166 0E2D mov r16,r14
3893 0168 0E94 0000 call disk_read
3894 016c 8823 tst r24
3895 016e 01F0 breq .+2
3896 0170 00C0 rjmp .L216
3897 .L208:
3898 .LSM330:
3899 0172 E881 ld r30,Y
3900 0174 F981 ldd r31,Y+1
3901 0176 8481 ldd r24,Z+4
3902 0178 8823 tst r24
3903 017a 01F0 breq .L209
3904 017c 22A5 ldd r18,Z+42
3905 017e 33A5 ldd r19,Z+43
3906 0180 44A5 ldd r20,Z+44
3907 0182 55A5 ldd r21,Z+45
3908 0184 2A19 sub r18,r10
3909 0186 3B09 sbc r19,r11
3910 0188 4C09 sbc r20,r12
3911 018a 5D09 sbc r21,r13
3912 018c C701 movw r24,r14
3913 018e A0E0 ldi r26,lo8(0)
3914 0190 B0E0 ldi r27,hi8(0)
3915 .LVL381:
3916 0192 2817 cp r18,r24
3917 0194 3907 cpc r19,r25
3918 0196 4A07 cpc r20,r26
3919 0198 5B07 cpc r21,r27
3920 019a 00F4 brsh .L209
3921 .LVL382:
3922 .LSM331:
3923 019c 99E0 ldi r25,9
3924 019e 220F 1: lsl r18
3925 01a0 331F rol r19
3926 01a2 441F rol r20
3927 01a4 551F rol r21
3928 01a6 9A95 dec r25
3929 01a8 01F4 brne 1b
3930 01aa C301 movw r24,r6
3931 .LVL383:
3932 01ac 820F add r24,r18
3933 01ae 931F adc r25,r19
3934 01b0 BE96 adiw r30,46
3935 01b2 BF01 movw r22,r30
3936 01b4 40E0 ldi r20,lo8(512)
3937 01b6 52E0 ldi r21,hi8(512)
3938 01b8 0E94 0000 call mem_cpy
3939 .LVL384:
3940 .L209:
3941 .LSM332:
3942 01bc 8D81 ldd r24,Y+5
3943 01be 8E0D add r24,r14
3944 01c0 8D83 std Y+5,r24
3945 .LSM333:
3946 01c2 8701 movw r16,r14
3947 .LVL385:
3948 01c4 102F mov r17,r16
3949 01c6 0027 clr r16
3950 01c8 110F lsl r17
3951 01ca 00C0 rjmp .L210
3952 .LVL386:
3953 .L206:
3954 .LSM334:
3955 01cc AE8A std Y+22,r10
3956 01ce BF8A std Y+23,r11
3957 01d0 C88E std Y+24,r12
3958 01d2 D98E std Y+25,r13
3959 .LSM335:
3960 01d4 3F5F subi r19,lo8(-(1))
3961 01d6 3D83 std Y+5,r19
3962 .LVL387:
3963 .L199:
3964 .LSM336:
3965 01d8 EE80 ldd r14,Y+6
3966 01da FF80 ldd r15,Y+7
3967 01dc 0885 ldd r16,Y+8
3968 01de 1985 ldd r17,Y+9
3969 .LVL388:
3970 .LSM337:
3971 01e0 4E89 ldd r20,Y+22
3972 01e2 5F89 ldd r21,Y+23
3973 01e4 688D ldd r22,Y+24
3974 01e6 798D ldd r23,Y+25
3975 01e8 8881 ld r24,Y
3976 01ea 9981 ldd r25,Y+1
3977 01ec 0E94 0000 call move_window
3978 .LVL389:
3979 01f0 8823 tst r24
3980 01f2 01F0 breq .L211
3981 .LVL390:
3982 .L216:
3983 .LSM338:
3984 01f4 8C81 ldd r24,Y+4
3985 01f6 8068 ori r24,lo8(-128)
3986 01f8 8C83 std Y+4,r24
3987 01fa 5524 clr r5
3988 01fc 5394 inc r5
3989 01fe 00C0 rjmp .L194
3990 .LVL391:
3991 .L211:
3992 .LSM339:
3993 0200 C701 movw r24,r14
3994 0202 9170 andi r25,hi8(511)
3995 0204 20E0 ldi r18,lo8(512)
3996 0206 32E0 ldi r19,hi8(512)
3997 0208 281B sub r18,r24
3998 020a 390B sbc r19,r25
3999 020c 8401 movw r16,r8
4000 .LVL392:
4001 020e 2815 cp r18,r8
4002 0210 3905 cpc r19,r9
4003 0212 00F4 brsh .L212
4004 .LVL393:
4005 0214 8901 movw r16,r18
4006 .L212:
4007 .LSM340:
4008 0216 8E81 ldd r24,Y+6
4009 0218 9F81 ldd r25,Y+7
4010 021a 9170 andi r25,hi8(511)
4011 021c 8E96 adiw r24,46
4012 021e 6881 ld r22,Y
4013 0220 7981 ldd r23,Y+1
4014 0222 680F add r22,r24
4015 0224 791F adc r23,r25
4016 0226 C301 movw r24,r6
4017 0228 A801 movw r20,r16
4018 022a 0E94 0000 call mem_cpy
4019 .LVL394:
4020 .L210:
4021 .LSM341:
4022 022e 600E add r6,r16
4023 0230 711E adc r7,r17
4024 0232 C801 movw r24,r16
4025 0234 A0E0 ldi r26,lo8(0)
4026 0236 B0E0 ldi r27,hi8(0)
4027 .LVL395:
4028 0238 2E81 ldd r18,Y+6
4029 023a 3F81 ldd r19,Y+7
4030 023c 4885 ldd r20,Y+8
4031 023e 5985 ldd r21,Y+9
4032 0240 280F add r18,r24
4033 0242 391F adc r19,r25
4034 0244 4A1F adc r20,r26
4035 0246 5B1F adc r21,r27
4036 0248 2E83 std Y+6,r18
4037 024a 3F83 std Y+7,r19
4038 024c 4887 std Y+8,r20
4039 024e 5987 std Y+9,r21
4040 0250 F101 movw r30,r2
4041 0252 8081 ld r24,Z
4042 0254 9181 ldd r25,Z+1
4043 0256 800F add r24,r16
4044 0258 911F adc r25,r17
4045 025a 9183 std Z+1,r25
4046 025c 8083 st Z,r24
4047 025e 801A sub r8,r16
4048 0260 910A sbc r9,r17
4049 .LVL396:
4050 .L198:
4051 .LSM342:
4052 0262 8114 cp r8,__zero_reg__
4053 0264 9104 cpc r9,__zero_reg__
4054 0266 01F0 breq .+2
4055 0268 00C0 rjmp .L213
4056 .LVL397:
4057 .L194:
4058 .LSM343:
4059 026a 852D mov r24,r5
4060 /* epilogue start */
4061 026c DF91 pop r29
4062 026e CF91 pop r28
4063 .LVL398:
4064 0270 1F91 pop r17
4065 .LVL399:
4066 0272 0F91 pop r16
4067 .LVL400:
4068 0274 FF90 pop r15
4069 0276 EF90 pop r14
4070 .LVL401:
4071 0278 DF90 pop r13
4072 027a CF90 pop r12
4073 027c BF90 pop r11
4074 027e AF90 pop r10
4075 .LVL402:
4076 0280 9F90 pop r9
4077 0282 8F90 pop r8
4078 .LVL403:
4079 0284 7F90 pop r7
4080 0286 6F90 pop r6
4081 .LVL404:
4082 0288 5F90 pop r5
4083 .LVL405:
4084 028a 3F90 pop r3
4085 028c 2F90 pop r2
4086 .LVL406:
4087 028e 0895 ret
4088 .LFE74:
4090 .section .text.f_gets,"ax",@progbits
4091 .global f_gets
4093 f_gets:
4094 .LFB79:
4095 .LSM344:
4096 .LVL407:
4097 0000 6F92 push r6
4098 0002 7F92 push r7
4099 0004 8F92 push r8
4100 0006 9F92 push r9
4101 0008 AF92 push r10
4102 000a BF92 push r11
4103 000c CF92 push r12
4104 000e DF92 push r13
4105 0010 EF92 push r14
4106 0012 FF92 push r15
4107 0014 0F93 push r16
4108 0016 1F93 push r17
4109 0018 DF93 push r29
4110 001a CF93 push r28
4111 001c 00D0 rcall .
4112 001e CDB7 in r28,__SP_L__
4113 0020 DEB7 in r29,__SP_H__
4114 /* prologue: function */
4115 /* frame size = 2 */
4116 0022 5C01 movw r10,r24
4117 0024 6B01 movw r12,r22
4118 0026 4A01 movw r8,r20
4119 .LSM345:
4120 0028 8C01 movw r16,r24
4121 .LVL408:
4122 002a EE24 clr r14
4123 002c FF24 clr r15
4124 .LVL409:
4125 .LSM346:
4126 002e 0894 sec
4127 0030 C108 sbc r12,__zero_reg__
4128 0032 D108 sbc r13,__zero_reg__
4129 .LSM347:
4130 0034 3E01 movw r6,r28
4131 0036 0894 sec
4132 0038 611C adc r6,__zero_reg__
4133 003a 711C adc r7,__zero_reg__
4134 003c 00C0 rjmp .L219
4135 .LVL410:
4136 .L221:
4137 003e C401 movw r24,r8
4138 0040 B801 movw r22,r16
4139 .LVL411:
4140 0042 41E0 ldi r20,lo8(1)
4141 0044 50E0 ldi r21,hi8(1)
4142 0046 9301 movw r18,r6
4143 0048 0E94 0000 call f_read
4144 .LSM348:
4145 004c 8981 ldd r24,Y+1
4146 004e 9A81 ldd r25,Y+2
4147 0050 0197 sbiw r24,1
4148 0052 01F4 brne .L220
4149 .LVL412:
4150 .LSM349:
4151 0054 0894 sec
4152 0056 E11C adc r14,__zero_reg__
4153 0058 F11C adc r15,__zero_reg__
4154 .LSM350:
4155 005a F801 movw r30,r16
4156 005c 8191 ld r24,Z+
4157 .LVL413:
4158 005e 8F01 movw r16,r30
4159 0060 8A30 cpi r24,lo8(10)
4160 0062 01F0 breq .L220
4161 .LVL414:
4162 .L219:
4163 .LSM351:
4164 0064 EC14 cp r14,r12
4165 0066 FD04 cpc r15,r13
4166 0068 04F0 brlt .L221
4167 .LVL415:
4168 .L220:
4169 .LSM352:
4170 006a F801 movw r30,r16
4171 006c 1082 st Z,__zero_reg__
4172 .LSM353:
4173 006e EF28 or r14,r15
4174 0070 01F4 brne .L222
4175 0072 AA24 clr r10
4176 0074 BB24 clr r11
4177 .LVL416:
4178 .L222:
4179 .LSM354:
4180 0076 C501 movw r24,r10
4181 .LVL417:
4182 /* epilogue start */
4183 0078 0F90 pop __tmp_reg__
4184 007a 0F90 pop __tmp_reg__
4185 007c CF91 pop r28
4186 007e DF91 pop r29
4187 0080 1F91 pop r17
4188 0082 0F91 pop r16
4189 .LVL418:
4190 0084 FF90 pop r15
4191 0086 EF90 pop r14
4192 .LVL419:
4193 0088 DF90 pop r13
4194 008a CF90 pop r12
4195 008c BF90 pop r11
4196 008e AF90 pop r10
4197 0090 9F90 pop r9
4198 0092 8F90 pop r8
4199 .LVL420:
4200 0094 7F90 pop r7
4201 0096 6F90 pop r6
4202 0098 0895 ret
4203 .LFE79:
4205 .section .text.check_fs,"ax",@progbits
4207 check_fs:
4208 .LFB69:
4209 .LSM355:
4210 .LVL421:
4211 0000 0F93 push r16
4212 0002 CF93 push r28
4213 0004 DF93 push r29
4214 /* prologue: function */
4215 /* frame size = 0 */
4216 0006 EC01 movw r28,r24
4217 0008 9A01 movw r18,r20
4218 000a AB01 movw r20,r22
4219 .LSM356:
4220 000c BC01 movw r22,r24
4221 000e 625D subi r22,lo8(-(46))
4222 0010 7F4F sbci r23,hi8(-(46))
4223 0012 8981 ldd r24,Y+1
4224 .LVL422:
4225 0014 01E0 ldi r16,lo8(1)
4226 0016 0E94 0000 call disk_read
4227 .LVL423:
4228 001a 8823 tst r24
4229 001c 01F0 breq .L225
4230 001e 23E0 ldi r18,lo8(3)
4231 0020 00C0 rjmp .L226
4232 .L225:
4233 .LSM357:
4234 0022 C45D subi r28,lo8(-(556))
4235 0024 DD4F sbci r29,hi8(-(556))
4236 0026 8881 ld r24,Y
4237 0028 9981 ldd r25,Y+1
4238 002a CC52 subi r28,lo8(-(-556))
4239 002c D240 sbci r29,hi8(-(-556))
4240 002e 8555 subi r24,lo8(-21931)
4241 0030 9A4A sbci r25,hi8(-21931)
4242 0032 01F0 breq .L227
4243 0034 22E0 ldi r18,lo8(2)
4244 0036 00C0 rjmp .L226
4245 .L227:
4246 .LSM358:
4247 0038 CC59 subi r28,lo8(-(100))
4248 003a DF4F sbci r29,hi8(-(100))
4249 003c 8881 ld r24,Y
4250 003e 9981 ldd r25,Y+1
4251 0040 AA81 ldd r26,Y+2
4252 0042 BB81 ldd r27,Y+3
4253 0044 C456 subi r28,lo8(-(-100))
4254 0046 D040 sbci r29,hi8(-(-100))
4255 0048 B070 andi r27,hhi8(16777215)
4256 004a 8654 subi r24,lo8(5521734)
4257 004c 9144 sbci r25,hi8(5521734)
4258 004e A445 sbci r26,hlo8(5521734)
4259 0050 B040 sbci r27,hhi8(5521734)
4260 0052 01F4 brne .L228
4261 0054 20E0 ldi r18,lo8(0)
4262 0056 00C0 rjmp .L226
4263 .L228:
4264 0058 20E0 ldi r18,lo8(0)
4265 005a C058 subi r28,lo8(-(128))
4266 005c DF4F sbci r29,hi8(-(128))
4267 005e 8881 ld r24,Y
4268 0060 9981 ldd r25,Y+1
4269 0062 AA81 ldd r26,Y+2
4270 0064 BB81 ldd r27,Y+3
4271 0066 B070 andi r27,hhi8(16777215)
4272 0068 8654 subi r24,lo8(5521734)
4273 006a 9144 sbci r25,hi8(5521734)
4274 006c A445 sbci r26,hlo8(5521734)
4275 006e B040 sbci r27,hhi8(5521734)
4276 0070 01F0 breq .L226
4277 0072 21E0 ldi r18,lo8(1)
4278 .L226:
4279 .LSM359:
4280 0074 822F mov r24,r18
4281 /* epilogue start */
4282 0076 DF91 pop r29
4283 0078 CF91 pop r28
4284 .LVL424:
4285 007a 0F91 pop r16
4286 007c 0895 ret
4287 .LFE69:
4289 .section .text.f_sync,"ax",@progbits
4290 .global f_sync
4292 f_sync:
4293 .LFB76:
4294 .LSM360:
4295 .LVL425:
4296 0000 0F93 push r16
4297 0002 1F93 push r17
4298 0004 CF93 push r28
4299 0006 DF93 push r29
4300 /* prologue: function */
4301 /* frame size = 0 */
4302 0008 EC01 movw r28,r24
4303 .LSM361:
4304 000a 6A81 ldd r22,Y+2
4305 000c 7B81 ldd r23,Y+3
4306 000e 8881 ld r24,Y
4307 0010 9981 ldd r25,Y+1
4308 .LVL426:
4309 0012 0E94 0000 call validate
4310 0016 982F mov r25,r24
4311 .LVL427:
4312 .LSM362:
4313 0018 8823 tst r24
4314 001a 01F0 breq .+2
4315 001c 00C0 rjmp .L232
4316 .LVL428:
4317 .LSM363:
4318 001e 8C81 ldd r24,Y+4
4319 .LVL429:
4320 0020 85FF sbrs r24,5
4321 0022 00C0 rjmp .L232
4322 .LSM364:
4323 0024 4A8D ldd r20,Y+26
4324 0026 5B8D ldd r21,Y+27
4325 0028 6C8D ldd r22,Y+28
4326 002a 7D8D ldd r23,Y+29
4327 002c 8881 ld r24,Y
4328 002e 9981 ldd r25,Y+1
4329 0030 0E94 0000 call move_window
4330 .LVL430:
4331 0034 982F mov r25,r24
4332 .LVL431:
4333 .LSM365:
4334 0036 8823 tst r24
4335 0038 01F0 breq .+2
4336 003a 00C0 rjmp .L232
4337 .LVL432:
4338 .LSM366:
4339 003c 0E8D ldd r16,Y+30
4340 003e 1F8D ldd r17,Y+31
4341 .LVL433:
4342 .LSM367:
4343 0040 F801 movw r30,r16
4344 0042 8385 ldd r24,Z+11
4345 .LVL434:
4346 0044 8062 ori r24,lo8(32)
4347 0046 8387 std Z+11,r24
4348 .LSM368:
4349 0048 8A85 ldd r24,Y+10
4350 004a 9B85 ldd r25,Y+11
4351 004c AC85 ldd r26,Y+12
4352 004e BD85 ldd r27,Y+13
4353 0050 848F std Z+28,r24
4354 0052 958F std Z+29,r25
4355 0054 A68F std Z+30,r26
4356 0056 B78F std Z+31,r27
4357 .LSM369:
4358 0058 8E85 ldd r24,Y+14
4359 005a 9F85 ldd r25,Y+15
4360 005c 938F std Z+27,r25
4361 005e 828F std Z+26,r24
4362 .LSM370:
4363 0060 8E85 ldd r24,Y+14
4364 0062 9F85 ldd r25,Y+15
4365 0064 A889 ldd r26,Y+16
4366 0066 B989 ldd r27,Y+17
4367 0068 CD01 movw r24,r26
4368 006a AA27 clr r26
4369 006c BB27 clr r27
4370 006e 958B std Z+21,r25
4371 0070 848B std Z+20,r24
4372 .LSM371:
4373 0072 0E94 0000 call get_fattime
4374 .LVL435:
4375 .LSM372:
4376 0076 F801 movw r30,r16
4377 0078 668B std Z+22,r22
4378 007a 778B std Z+23,r23
4379 007c 808F std Z+24,r24
4380 007e 918F std Z+25,r25
4381 .LVL436:
4382 .LSM373:
4383 0080 8C81 ldd r24,Y+4
4384 0082 8F7D andi r24,lo8(-33)
4385 0084 8C83 std Y+4,r24
4386 .LSM374:
4387 0086 E881 ld r30,Y
4388 0088 F981 ldd r31,Y+1
4389 008a 81E0 ldi r24,lo8(1)
4390 008c 8483 std Z+4,r24
4391 .LSM375:
4392 008e 0990 ld __tmp_reg__,Y+
4393 0090 D881 ld r29,Y
4394 0092 C02D mov r28,__tmp_reg__
4395 .LVL437:
4396 .LBB6:
4397 .LSM376:
4398 0094 CE01 movw r24,r28
4399 0096 40E0 ldi r20,lo8(0)
4400 0098 50E0 ldi r21,hi8(0)
4401 009a 60E0 ldi r22,hlo8(0)
4402 009c 70E0 ldi r23,hhi8(0)
4403 009e 0E94 0000 call move_window
4404 .LVL438:
4405 00a2 982F mov r25,r24
4406 .LVL439:
4407 .LBB7:
4408 .LSM377:
4409 00a4 8823 tst r24
4410 00a6 01F0 breq .+2
4411 00a8 00C0 rjmp .L232
4412 .LVL440:
4413 .LSM378:
4414 00aa 8881 ld r24,Y
4415 .LVL441:
4416 00ac 8330 cpi r24,lo8(3)
4417 00ae 01F0 breq .+2
4418 00b0 00C0 rjmp .L233
4419 00b2 8D81 ldd r24,Y+5
4420 00b4 8823 tst r24
4421 00b6 01F4 brne .+2
4422 00b8 00C0 rjmp .L233
4423 .LSM379:
4424 00ba 1AA6 std Y+42,__zero_reg__
4425 00bc 1BA6 std Y+43,__zero_reg__
4426 00be 1CA6 std Y+44,__zero_reg__
4427 00c0 1DA6 std Y+45,__zero_reg__
4428 .LSM380:
4429 00c2 8E01 movw r16,r28
4430 .LVL442:
4431 00c4 025D subi r16,lo8(-(46))
4432 00c6 1F4F sbci r17,hi8(-(46))
4433 00c8 C801 movw r24,r16
4434 00ca 60E0 ldi r22,lo8(0)
4435 00cc 70E0 ldi r23,hi8(0)
4436 00ce 40E0 ldi r20,lo8(512)
4437 00d0 52E0 ldi r21,hi8(512)
4438 00d2 0E94 0000 call mem_set
4439 .LVL443:
4440 .LSM381:
4441 00d6 C45D subi r28,lo8(-(556))
4442 00d8 DD4F sbci r29,hi8(-(556))
4443 00da 85E5 ldi r24,lo8(-21931)
4444 00dc 9AEA ldi r25,hi8(-21931)
4445 00de 9983 std Y+1,r25
4446 00e0 8883 st Y,r24
4447 00e2 CC52 subi r28,lo8(-(-556))
4448 00e4 D240 sbci r29,hi8(-(-556))
4449 .LSM382:
4450 00e6 82E5 ldi r24,lo8(1096897106)
4451 00e8 92E5 ldi r25,hi8(1096897106)
4452 00ea A1E6 ldi r26,hlo8(1096897106)
4453 00ec B1E4 ldi r27,hhi8(1096897106)
4454 00ee 8EA7 std Y+46,r24
4455 00f0 9FA7 std Y+47,r25
4456 00f2 A8AB std Y+48,r26
4457 00f4 B9AB std Y+49,r27
4458 .LSM383:
4459 00f6 CE5E subi r28,lo8(-(530))
4460 00f8 DD4F sbci r29,hi8(-(530))
4461 00fa 82E7 ldi r24,lo8(1631679090)
4462 00fc 92E7 ldi r25,hi8(1631679090)
4463 00fe A1E4 ldi r26,hlo8(1631679090)
4464 0100 B1E6 ldi r27,hhi8(1631679090)
4465 0102 8883 st Y,r24
4466 0104 9983 std Y+1,r25
4467 0106 AA83 std Y+2,r26
4468 0108 BB83 std Y+3,r27
4469 010a C251 subi r28,lo8(-(-530))
4470 010c D240 sbci r29,hi8(-(-530))
4471 .LSM384:
4472 010e 8E85 ldd r24,Y+14
4473 0110 9F85 ldd r25,Y+15
4474 0112 A889 ldd r26,Y+16
4475 0114 B989 ldd r27,Y+17
4476 0116 CA5E subi r28,lo8(-(534))
4477 0118 DD4F sbci r29,hi8(-(534))
4478 011a 8883 st Y,r24
4479 011c 9983 std Y+1,r25
4480 011e AA83 std Y+2,r26
4481 0120 BB83 std Y+3,r27
4482 0122 C651 subi r28,lo8(-(-534))
4483 0124 D240 sbci r29,hi8(-(-534))
4484 .LSM385:
4485 0126 8A85 ldd r24,Y+10
4486 0128 9B85 ldd r25,Y+11
4487 012a AC85 ldd r26,Y+12
4488 012c BD85 ldd r27,Y+13
4489 012e C65E subi r28,lo8(-(538))
4490 0130 DD4F sbci r29,hi8(-(538))
4491 0132 8883 st Y,r24
4492 0134 9983 std Y+1,r25
4493 0136 AA83 std Y+2,r26
4494 0138 BB83 std Y+3,r27
4495 013a CA51 subi r28,lo8(-(-538))
4496 013c D240 sbci r29,hi8(-(-538))
4497 .LSM386:
4498 013e 2A89 ldd r18,Y+18
4499 0140 3B89 ldd r19,Y+19
4500 0142 4C89 ldd r20,Y+20
4501 0144 5D89 ldd r21,Y+21
4502 0146 8981 ldd r24,Y+1
4503 0148 B801 movw r22,r16
4504 014a 01E0 ldi r16,lo8(1)
4505 014c 0E94 0000 call disk_write
4506 .LSM387:
4507 0150 1D82 std Y+5,__zero_reg__
4508 .LVL444:
4509 .L233:
4510 .LBE7:
4511 .LSM388:
4512 0152 8981 ldd r24,Y+1
4513 0154 60E0 ldi r22,lo8(0)
4514 0156 40E0 ldi r20,lo8(0)
4515 0158 50E0 ldi r21,hi8(0)
4516 015a 0E94 0000 call disk_ioctl
4517 .LVL445:
4518 015e 8111 cpse r24,__zero_reg__
4519 0160 81E0 ldi r24,lo8(1)
4520 .L234:
4521 0162 982F mov r25,r24
4522 .LVL446:
4523 .L232:
4524 .LBE6:
4525 .LSM389:
4526 0164 892F mov r24,r25
4527 /* epilogue start */
4528 0166 DF91 pop r29
4529 0168 CF91 pop r28
4530 .LVL447:
4531 016a 1F91 pop r17
4532 016c 0F91 pop r16
4533 .LVL448:
4534 016e 0895 ret
4535 .LFE76:
4537 .section .text.f_close,"ax",@progbits
4538 .global f_close
4540 f_close:
4541 .LFB77:
4542 .LSM390:
4543 .LVL449:
4544 0000 CF93 push r28
4545 0002 DF93 push r29
4546 /* prologue: function */
4547 /* frame size = 0 */
4548 0004 EC01 movw r28,r24
4549 .LSM391:
4550 0006 0E94 0000 call f_sync
4551 .LVL450:
4552 .LSM392:
4553 000a 8823 tst r24
4554 .LVL451:
4555 000c 01F4 brne .L237
4556 000e 1982 std Y+1,__zero_reg__
4557 0010 1882 st Y,__zero_reg__
4558 .L237:
4559 .LVL452:
4560 /* epilogue start */
4561 .LSM393:
4562 0012 DF91 pop r29
4563 0014 CF91 pop r28
4564 .LVL453:
4565 0016 0895 ret
4566 .LFE77:
4568 .section .text.chk_mounted,"ax",@progbits
4569 .global chk_mounted
4571 chk_mounted:
4572 .LFB70:
4573 .LSM394:
4574 .LVL454:
4575 0000 6F92 push r6
4576 0002 7F92 push r7
4577 0004 8F92 push r8
4578 0006 9F92 push r9
4579 0008 AF92 push r10
4580 000a BF92 push r11
4581 000c CF92 push r12
4582 000e DF92 push r13
4583 0010 EF92 push r14
4584 0012 FF92 push r15
4585 0014 0F93 push r16
4586 0016 1F93 push r17
4587 0018 CF93 push r28
4588 001a DF93 push r29
4589 /* prologue: function */
4590 /* frame size = 0 */
4591 001c DC01 movw r26,r24
4592 001e 142F mov r17,r20
4593 .LSM395:
4594 0020 ED91 ld r30,X+
4595 0022 FC91 ld r31,X
4596 0024 1197 sbiw r26,1
4597 .LVL455:
4598 .LSM396:
4599 0026 8081 ld r24,Z
4600 .LVL456:
4601 0028 282F mov r18,r24
4602 .LVL457:
4603 002a 30E0 ldi r19,lo8(0)
4604 .LVL458:
4605 002c 2053 subi r18,lo8(-(-48))
4606 002e 3040 sbci r19,hi8(-(-48))
4607 .LVL459:
4608 .LSM397:
4609 0030 2A30 cpi r18,10
4610 0032 3105 cpc r19,__zero_reg__
4611 0034 00F4 brsh .L240
4612 .LVL460:
4613 0036 8181 ldd r24,Z+1
4614 0038 8A33 cpi r24,lo8(58)
4615 003a 01F4 brne .L240
4616 .LSM398:
4617 003c 3296 adiw r30,2
4618 003e ED93 st X+,r30
4619 0040 FC93 st X,r31
4620 .LSM399:
4621 0042 232B or r18,r19
4622 0044 01F0 breq .L240
4623 0046 8BE0 ldi r24,lo8(11)
4624 0048 00C0 rjmp .L241
4625 .L240:
4626 .LSM400:
4627 004a C091 0000 lds r28,FatFs
4628 004e D091 0000 lds r29,(FatFs)+1
4629 .LVL461:
4630 0052 FB01 movw r30,r22
4631 .LVL462:
4632 0054 D183 std Z+1,r29
4633 0056 C083 st Z,r28
4634 .LSM401:
4635 0058 2097 sbiw r28,0
4636 005a 01F4 brne .L242
4637 005c 8CE0 ldi r24,lo8(12)
4638 005e 00C0 rjmp .L241
4639 .L242:
4640 .LSM402:
4641 0060 8881 ld r24,Y
4642 0062 8823 tst r24
4643 0064 01F0 breq .L243
4644 .LSM403:
4645 0066 8981 ldd r24,Y+1
4646 0068 0E94 0000 call disk_status
4647 .LVL463:
4648 .LSM404:
4649 006c 80FD sbrc r24,0
4650 006e 00C0 rjmp .L243
4651 .LSM405:
4652 0070 1123 tst r17
4653 0072 01F4 brne .+2
4654 0074 00C0 rjmp .L244
4655 0076 82FD sbrc r24,2
4656 0078 00C0 rjmp .L245
4657 007a 00C0 rjmp .L244
4658 .LVL464:
4659 .L243:
4660 .LSM406:
4661 007c 1882 st Y,__zero_reg__
4662 .LSM407:
4663 007e 1982 std Y+1,__zero_reg__
4664 .LSM408:
4665 0080 80E0 ldi r24,lo8(0)
4666 0082 0E94 0000 call disk_initialize
4667 .LVL465:
4668 .LSM409:
4669 0086 80FF sbrs r24,0
4670 0088 00C0 rjmp .L246
4671 008a 83E0 ldi r24,lo8(3)
4672 008c 00C0 rjmp .L241
4673 .L246:
4674 .LSM410:
4675 008e 1123 tst r17
4676 0090 01F0 breq .L247
4677 0092 82FD sbrc r24,2
4678 0094 00C0 rjmp .L245
4679 .L247:
4680 .LSM411:
4681 0096 CE01 movw r24,r28
4682 0098 40E0 ldi r20,lo8(0)
4683 009a 50E0 ldi r21,hi8(0)
4684 009c 60E0 ldi r22,hlo8(0)
4685 009e 70E0 ldi r23,hhi8(0)
4686 00a0 0E94 0000 call check_fs
4687 .LSM412:
4688 00a4 8130 cpi r24,lo8(1)
4689 .LVL466:
4690 00a6 01F0 breq .L248
4691 00a8 6624 clr r6
4692 00aa 7724 clr r7
4693 00ac 4301 movw r8,r6
4694 .LVL467:
4695 00ae 00C0 rjmp .L249
4696 .LVL468:
4697 .L248:
4698 .LSM413:
4699 00b0 FE01 movw r30,r28
4700 .LVL469:
4701 00b2 E451 subi r30,lo8(-(492))
4702 00b4 FE4F sbci r31,hi8(-(492))
4703 .LSM414:
4704 00b6 8481 ldd r24,Z+4
4705 .LVL470:
4706 00b8 8823 tst r24
4707 00ba 01F4 brne .+2
4708 00bc 00C0 rjmp .L250
4709 .LSM415:
4710 00be 6084 ldd r6,Z+8
4711 00c0 7184 ldd r7,Z+9
4712 00c2 8284 ldd r8,Z+10
4713 00c4 9384 ldd r9,Z+11
4714 .LVL471:
4715 .LSM416:
4716 00c6 CE01 movw r24,r28
4717 00c8 B401 movw r22,r8
4718 00ca A301 movw r20,r6
4719 00cc 0E94 0000 call check_fs
4720 .LVL472:
4721 .L249:
4722 .LSM417:
4723 00d0 8330 cpi r24,lo8(3)
4724 00d2 01F4 brne .L251
4725 00d4 81E0 ldi r24,lo8(1)
4726 .LVL473:
4727 00d6 00C0 rjmp .L241
4728 .LVL474:
4729 .L251:
4730 .LSM418:
4731 00d8 8823 tst r24
4732 00da 01F0 breq .+2
4733 00dc 00C0 rjmp .L250
4734 00de 89AD ldd r24,Y+57
4735 00e0 9AAD ldd r25,Y+58
4736 .LVL475:
4737 00e2 8050 subi r24,lo8(512)
4738 00e4 9240 sbci r25,hi8(512)
4739 00e6 01F0 breq .+2
4740 00e8 00C0 rjmp .L250
4741 .LSM419:
4742 00ea CC5B subi r28,lo8(-(68))
4743 00ec DF4F sbci r29,hi8(-(68))
4744 00ee 8881 ld r24,Y
4745 00f0 9981 ldd r25,Y+1
4746 00f2 C454 subi r28,lo8(-(-68))
4747 00f4 D040 sbci r29,hi8(-(-68))
4748 00f6 BC01 movw r22,r24
4749 .LVL476:
4750 00f8 80E0 ldi r24,lo8(0)
4751 00fa 90E0 ldi r25,hi8(0)
4752 .LVL477:
4753 .LSM420:
4754 00fc 6115 cp r22,__zero_reg__
4755 00fe 7105 cpc r23,__zero_reg__
4756 0100 8105 cpc r24,__zero_reg__
4757 0102 9105 cpc r25,__zero_reg__
4758 0104 01F4 brne .L252
4759 0106 CE5A subi r28,lo8(-(82))
4760 0108 DF4F sbci r29,hi8(-(82))
4761 010a 6881 ld r22,Y
4762 010c 7981 ldd r23,Y+1
4763 010e 8A81 ldd r24,Y+2
4764 0110 9B81 ldd r25,Y+3
4765 .LVL478:
4766 0112 C255 subi r28,lo8(-(-82))
4767 0114 D040 sbci r29,hi8(-(-82))
4768 .L252:
4769 .LSM421:
4770 0116 6E8B std Y+22,r22
4771 0118 7F8B std Y+23,r23
4772 011a 888F std Y+24,r24
4773 011c 998F std Y+25,r25
4774 .LSM422:
4775 011e 2EAD ldd r18,Y+62
4776 0120 2B83 std Y+3,r18
4777 .LSM423:
4778 0122 30E0 ldi r19,lo8(0)
4779 0124 40E0 ldi r20,lo8(0)
4780 0126 50E0 ldi r21,hi8(0)
4781 0128 0E94 0000 call __mulsi3
4782 .LVL479:
4783 012c 5B01 movw r10,r22
4784 012e 6C01 movw r12,r24
4785 .LVL480:
4786 .LSM424:
4787 0130 8CAD ldd r24,Y+60
4788 0132 9DAD ldd r25,Y+61
4789 .LVL481:
4790 0134 A0E0 ldi r26,lo8(0)
4791 0136 B0E0 ldi r27,hi8(0)
4792 0138 860D add r24,r6
4793 013a 971D adc r25,r7
4794 013c A81D adc r26,r8
4795 013e B91D adc r27,r9
4796 0140 8E8F std Y+30,r24
4797 0142 9F8F std Y+31,r25
4798 0144 A8A3 std Y+32,r26
4799 0146 B9A3 std Y+33,r27
4800 .LSM425:
4801 0148 8BAD ldd r24,Y+59
4802 014a 8A83 std Y+2,r24
4803 .LSM426:
4804 014c EF96 adiw r28,63
4805 014e 2881 ld r18,Y
4806 0150 3981 ldd r19,Y+1
4807 0152 EF97 sbiw r28,63
4808 0154 3987 std Y+9,r19
4809 0156 2887 std Y+8,r18
4810 .LSM427:
4811 0158 CF5B subi r28,lo8(-(65))
4812 015a DF4F sbci r29,hi8(-(65))
4813 015c 8881 ld r24,Y
4814 015e 9981 ldd r25,Y+1
4815 0160 C154 subi r28,lo8(-(-65))
4816 0162 D040 sbci r29,hi8(-(-65))
4817 0164 7C01 movw r14,r24
4818 .LVL482:
4819 0166 00E0 ldi r16,lo8(0)
4820 0168 10E0 ldi r17,hi8(0)
4821 .LVL483:
4822 .LSM428:
4823 016a E114 cp r14,__zero_reg__
4824 016c F104 cpc r15,__zero_reg__
4825 016e 0105 cpc r16,__zero_reg__
4826 0170 1105 cpc r17,__zero_reg__
4827 0172 01F4 brne .L253
4828 0174 C25B subi r28,lo8(-(78))
4829 0176 DF4F sbci r29,hi8(-(78))
4830 0178 E880 ld r14,Y
4831 017a F980 ldd r15,Y+1
4832 017c 0A81 ldd r16,Y+2
4833 017e 1B81 ldd r17,Y+3
4834 .LVL484:
4835 0180 CE54 subi r28,lo8(-(-78))
4836 0182 D040 sbci r29,hi8(-(-78))
4837 .L253:
4838 .LSM429:
4839 0184 8CAD ldd r24,Y+60
4840 0186 9DAD ldd r25,Y+61
4841 0188 A0E0 ldi r26,lo8(0)
4842 018a B0E0 ldi r27,hi8(0)
4843 018c E81A sub r14,r24
4844 018e F90A sbc r15,r25
4845 0190 0A0B sbc r16,r26
4846 0192 1B0B sbc r17,r27
4847 .LVL485:
4848 0194 EA18 sub r14,r10
4849 0196 FB08 sbc r15,r11
4850 0198 0C09 sbc r16,r12
4851 019a 1D09 sbc r17,r13
4852 019c 74E0 ldi r23,4
4853 019e 3695 1: lsr r19
4854 01a0 2795 ror r18
4855 01a2 7A95 dec r23
4856 01a4 01F4 brne 1b
4857 01a6 C901 movw r24,r18
4858 01a8 A0E0 ldi r26,lo8(0)
4859 01aa B0E0 ldi r27,hi8(0)
4860 01ac E81A sub r14,r24
4861 01ae F90A sbc r15,r25
4862 01b0 0A0B sbc r16,r26
4863 01b2 1B0B sbc r17,r27
4864 01b4 2A81 ldd r18,Y+2
4865 01b6 30E0 ldi r19,lo8(0)
4866 01b8 40E0 ldi r20,lo8(0)
4867 01ba 50E0 ldi r21,hi8(0)
4868 01bc C801 movw r24,r16
4869 01be B701 movw r22,r14
4870 01c0 0E94 0000 call __udivmodsi4
4871 01c4 2E5F subi r18,lo8(-(2))
4872 01c6 3F4F sbci r19,hi8(-(2))
4873 01c8 4F4F sbci r20,hlo8(-(2))
4874 01ca 5F4F sbci r21,hhi8(-(2))
4875 .LVL486:
4876 01cc 2A8F std Y+26,r18
4877 01ce 3B8F std Y+27,r19
4878 01d0 4C8F std Y+28,r20
4879 01d2 5D8F std Y+29,r21
4880 .LSM430:
4881 01d4 273F cpi r18,lo8(4087)
4882 01d6 8FE0 ldi r24,hi8(4087)
4883 01d8 3807 cpc r19,r24
4884 01da 80E0 ldi r24,hlo8(4087)
4885 01dc 4807 cpc r20,r24
4886 01de 80E0 ldi r24,hhi8(4087)
4887 01e0 5807 cpc r21,r24
4888 01e2 00F4 brsh .L254
4889 01e4 11E0 ldi r17,lo8(1)
4890 .LVL487:
4891 01e6 00C0 rjmp .L255
4892 .LVL488:
4893 .L254:
4894 .LSM431:
4895 01e8 275F subi r18,lo8(65527)
4896 01ea 3F4F sbci r19,hi8(65527)
4897 01ec 4040 sbci r20,hlo8(65527)
4898 01ee 5040 sbci r21,hhi8(65527)
4899 01f0 00F0 brlo .+2
4900 01f2 00C0 rjmp .L256
4901 01f4 12E0 ldi r17,lo8(2)
4902 .LVL489:
4903 .L255:
4904 .LSM432:
4905 01f6 8E8D ldd r24,Y+30
4906 01f8 9F8D ldd r25,Y+31
4907 01fa A8A1 ldd r26,Y+32
4908 01fc B9A1 ldd r27,Y+33
4909 01fe 8A0D add r24,r10
4910 0200 9B1D adc r25,r11
4911 0202 AC1D adc r26,r12
4912 0204 BD1D adc r27,r13
4913 0206 8AA3 std Y+34,r24
4914 0208 9BA3 std Y+35,r25
4915 020a ACA3 std Y+36,r26
4916 020c BDA3 std Y+37,r27
4917 .L258:
4918 .LSM433:
4919 020e 8885 ldd r24,Y+8
4920 0210 9985 ldd r25,Y+9
4921 0212 64E0 ldi r22,4
4922 0214 9695 1: lsr r25
4923 0216 8795 ror r24
4924 0218 6A95 dec r22
4925 021a 01F4 brne 1b
4926 021c A0E0 ldi r26,lo8(0)
4927 021e B0E0 ldi r27,hi8(0)
4928 0220 2E8D ldd r18,Y+30
4929 0222 3F8D ldd r19,Y+31
4930 0224 48A1 ldd r20,Y+32
4931 0226 59A1 ldd r21,Y+33
4932 .LVL490:
4933 0228 820F add r24,r18
4934 022a 931F adc r25,r19
4935 022c A41F adc r26,r20
4936 022e B51F adc r27,r21
4937 0230 8A0D add r24,r10
4938 0232 9B1D adc r25,r11
4939 0234 AC1D adc r26,r12
4940 0236 BD1D adc r27,r13
4941 0238 8EA3 std Y+38,r24
4942 023a 9FA3 std Y+39,r25
4943 023c A8A7 std Y+40,r26
4944 023e B9A7 std Y+41,r27
4945 .LSM434:
4946 0240 8FEF ldi r24,lo8(-1)
4947 0242 9FEF ldi r25,hi8(-1)
4948 0244 AFEF ldi r26,hlo8(-1)
4949 0246 BFEF ldi r27,hhi8(-1)
4950 0248 8E87 std Y+14,r24
4951 024a 9F87 std Y+15,r25
4952 024c A88B std Y+16,r26
4953 024e B98B std Y+17,r27
4954 .LSM435:
4955 0250 1C82 std Y+4,__zero_reg__
4956 .LSM436:
4957 0252 1330 cpi r17,lo8(3)
4958 0254 01F0 breq .+2
4959 0256 00C0 rjmp .L257
4960 .LSM437:
4961 0258 1D82 std Y+5,__zero_reg__
4962 .LSM438:
4963 025a C25A subi r28,lo8(-(94))
4964 025c DF4F sbci r29,hi8(-(94))
4965 025e 2881 ld r18,Y
4966 0260 3981 ldd r19,Y+1
4967 0262 CE55 subi r28,lo8(-(-94))
4968 0264 D040 sbci r29,hi8(-(-94))
4969 0266 40E0 ldi r20,lo8(0)
4970 0268 50E0 ldi r21,hi8(0)
4971 026a 260D add r18,r6
4972 026c 371D adc r19,r7
4973 026e 481D adc r20,r8
4974 0270 591D adc r21,r9
4975 0272 2A8B std Y+18,r18
4976 0274 3B8B std Y+19,r19
4977 0276 4C8B std Y+20,r20
4978 0278 5D8B std Y+21,r21
4979 .LSM439:
4980 027a BE01 movw r22,r28
4981 027c 625D subi r22,lo8(-(46))
4982 027e 7F4F sbci r23,hi8(-(46))
4983 0280 8981 ldd r24,Y+1
4984 0282 01E0 ldi r16,lo8(1)
4985 .LVL491:
4986 0284 0E94 0000 call disk_read
4987 0288 8823 tst r24
4988 028a 01F4 brne .L257
4989 028c C45D subi r28,lo8(-(556))
4990 028e DD4F sbci r29,hi8(-(556))
4991 0290 8881 ld r24,Y
4992 0292 9981 ldd r25,Y+1
4993 0294 CC52 subi r28,lo8(-(-556))
4994 0296 D240 sbci r29,hi8(-(-556))
4995 0298 8555 subi r24,lo8(-21931)
4996 029a 9A4A sbci r25,hi8(-21931)
4997 029c 01F4 brne .L257
4998 029e 8EA5 ldd r24,Y+46
4999 02a0 9FA5 ldd r25,Y+47
5000 02a2 A8A9 ldd r26,Y+48
5001 02a4 B9A9 ldd r27,Y+49
5002 02a6 8255 subi r24,lo8(1096897106)
5003 02a8 9245 sbci r25,hi8(1096897106)
5004 02aa A146 sbci r26,hlo8(1096897106)
5005 02ac B144 sbci r27,hhi8(1096897106)
5006 02ae 01F4 brne .L257
5007 02b0 CE5E subi r28,lo8(-(530))
5008 02b2 DD4F sbci r29,hi8(-(530))
5009 02b4 8881 ld r24,Y
5010 02b6 9981 ldd r25,Y+1
5011 02b8 AA81 ldd r26,Y+2
5012 02ba BB81 ldd r27,Y+3
5013 02bc C251 subi r28,lo8(-(-530))
5014 02be D240 sbci r29,hi8(-(-530))
5015 02c0 8257 subi r24,lo8(1631679090)
5016 02c2 9247 sbci r25,hi8(1631679090)
5017 02c4 A144 sbci r26,hlo8(1631679090)
5018 02c6 B146 sbci r27,hhi8(1631679090)
5019 02c8 01F4 brne .L257
5020 .LSM440:
5021 02ca C65E subi r28,lo8(-(538))
5022 02cc DD4F sbci r29,hi8(-(538))
5023 02ce 8881 ld r24,Y
5024 02d0 9981 ldd r25,Y+1
5025 02d2 AA81 ldd r26,Y+2
5026 02d4 BB81 ldd r27,Y+3
5027 02d6 CA51 subi r28,lo8(-(-538))
5028 02d8 D240 sbci r29,hi8(-(-538))
5029 02da 8A87 std Y+10,r24
5030 02dc 9B87 std Y+11,r25
5031 02de AC87 std Y+12,r26
5032 02e0 BD87 std Y+13,r27
5033 .LSM441:
5034 02e2 CA5E subi r28,lo8(-(534))
5035 02e4 DD4F sbci r29,hi8(-(534))
5036 02e6 8881 ld r24,Y
5037 02e8 9981 ldd r25,Y+1
5038 02ea AA81 ldd r26,Y+2
5039 02ec BB81 ldd r27,Y+3
5040 02ee C651 subi r28,lo8(-(-534))
5041 02f0 D240 sbci r29,hi8(-(-534))
5042 02f2 8E87 std Y+14,r24
5043 02f4 9F87 std Y+15,r25
5044 02f6 A88B std Y+16,r26
5045 02f8 B98B std Y+17,r27
5046 .LVL492:
5047 .L257:
5048 .LSM442:
5049 02fa 1883 st Y,r17
5050 .LSM443:
5051 02fc 1AA6 std Y+42,__zero_reg__
5052 02fe 1BA6 std Y+43,__zero_reg__
5053 0300 1CA6 std Y+44,__zero_reg__
5054 0302 1DA6 std Y+45,__zero_reg__
5055 .LSM444:
5056 0304 8091 0000 lds r24,Fsid
5057 0308 9091 0000 lds r25,(Fsid)+1
5058 030c 0196 adiw r24,1
5059 030e 9093 0000 sts (Fsid)+1,r25
5060 0312 8093 0000 sts Fsid,r24
5061 0316 9F83 std Y+7,r25
5062 0318 8E83 std Y+6,r24
5063 031a 00C0 rjmp .L244
5064 .LVL493:
5065 .L245:
5066 .LSM445:
5067 031c 8AE0 ldi r24,lo8(10)
5068 031e 00C0 rjmp .L241
5069 .LVL494:
5070 .L244:
5071 0320 80E0 ldi r24,lo8(0)
5072 0322 00C0 rjmp .L241
5073 .LVL495:
5074 .L250:
5075 0324 8DE0 ldi r24,lo8(13)
5076 .LVL496:
5077 .L241:
5078 /* epilogue start */
5079 .LSM446:
5080 0326 DF91 pop r29
5081 0328 CF91 pop r28
5082 .LVL497:
5083 032a 1F91 pop r17
5084 .LVL498:
5085 032c 0F91 pop r16
5086 .LVL499:
5087 032e FF90 pop r15
5088 0330 EF90 pop r14
5089 .LVL500:
5090 0332 DF90 pop r13
5091 0334 CF90 pop r12
5092 0336 BF90 pop r11
5093 0338 AF90 pop r10
5094 .LVL501:
5095 033a 9F90 pop r9
5096 033c 8F90 pop r8
5097 033e 7F90 pop r7
5098 0340 6F90 pop r6
5099 .LVL502:
5100 0342 0895 ret
5101 .LVL503:
5102 .L256:
5103 .LSM447:
5104 0344 C65A subi r28,lo8(-(90))
5105 0346 DF4F sbci r29,hi8(-(90))
5106 0348 8881 ld r24,Y
5107 034a 9981 ldd r25,Y+1
5108 034c AA81 ldd r26,Y+2
5109 034e BB81 ldd r27,Y+3
5110 0350 CA55 subi r28,lo8(-(-90))
5111 0352 D040 sbci r29,hi8(-(-90))
5112 0354 8AA3 std Y+34,r24
5113 0356 9BA3 std Y+35,r25
5114 0358 ACA3 std Y+36,r26
5115 035a BDA3 std Y+37,r27
5116 035c 13E0 ldi r17,lo8(3)
5117 .LVL504:
5118 035e 00C0 rjmp .L258
5119 .LFE70:
5121 .data
5122 .LC0:
5123 0000 2022 2A2B .string " \"*+,[=]|\177"
5123 2C5B 3D5D
5123 7C7F 00
5124 .section .text.f_open,"ax",@progbits
5125 .global f_open
5127 f_open:
5128 .LFB73:
5129 .LSM448:
5130 .LVL505:
5131 0000 2F92 push r2
5132 0002 3F92 push r3
5133 0004 4F92 push r4
5134 0006 5F92 push r5
5135 0008 6F92 push r6
5136 000a 7F92 push r7
5137 000c 8F92 push r8
5138 000e 9F92 push r9
5139 0010 AF92 push r10
5140 0012 BF92 push r11
5141 0014 CF92 push r12
5142 0016 DF92 push r13
5143 0018 EF92 push r14
5144 001a FF92 push r15
5145 001c 0F93 push r16
5146 001e 1F93 push r17
5147 0020 DF93 push r29
5148 0022 CF93 push r28
5149 0024 CDB7 in r28,__SP_L__
5150 0026 DEB7 in r29,__SP_H__
5151 0028 AD97 sbiw r28,45
5152 002a 0FB6 in __tmp_reg__,__SREG__
5153 002c F894 cli
5154 002e DEBF out __SP_H__,r29
5155 0030 0FBE out __SREG__,__tmp_reg__
5156 0032 CDBF out __SP_L__,r28
5157 /* prologue: function */
5158 /* frame size = 45 */
5159 0034 9DA7 std Y+45,r25
5160 0036 8CA7 std Y+44,r24
5161 0038 7CA3 std Y+36,r23
5162 003a 6BA3 std Y+35,r22
5163 .LSM449:
5164 003c DC01 movw r26,r24
5165 003e 1D92 st X+,__zero_reg__
5166 0040 1C92 st X,__zero_reg__
5167 .LSM450:
5168 0042 B42F mov r27,r20
5169 0044 BF71 andi r27,lo8(31)
5170 0046 BDA3 std Y+37,r27
5171 .LVL506:
5172 .LSM451:
5173 0048 4E71 andi r20,lo8(30)
5174 .LVL507:
5175 004a CE01 movw r24,r28
5176 .LVL508:
5177 004c 8396 adiw r24,35
5178 004e BE01 movw r22,r28
5179 .LVL509:
5180 0050 635F subi r22,lo8(-(13))
5181 0052 7F4F sbci r23,hi8(-(13))
5182 0054 0E94 0000 call chk_mounted
5183 .LVL510:
5184 .LSM452:
5185 0058 8823 tst r24
5186 .LVL511:
5187 005a 01F0 breq .L261
5188 005c 282F mov r18,r24
5189 005e 00C0 rjmp .L262
5190 .LVL512:
5191 .L261:
5192 .LSM453:
5193 0060 CE01 movw r24,r28
5194 .LVL513:
5195 0062 0196 adiw r24,1
5196 0064 9AA3 std Y+34,r25
5197 0066 89A3 std Y+33,r24
5198 .LSM454:
5199 0068 EBA0 ldd r14,Y+35
5200 006a FCA0 ldd r15,Y+36
5201 .LVL514:
5202 006c 00C0 rjmp .L263
5203 .L264:
5204 .LBB23:
5205 .LBB24:
5206 .LSM455:
5207 006e 0894 sec
5208 0070 E11C adc r14,__zero_reg__
5209 0072 F11C adc r15,__zero_reg__
5210 .L263:
5211 0074 F701 movw r30,r14
5212 0076 8081 ld r24,Z
5213 0078 8032 cpi r24,lo8(32)
5214 007a 01F0 breq .L264
5215 .LSM456:
5216 007c 8F32 cpi r24,lo8(47)
5217 007e 01F0 breq .L265
5218 0080 8C35 cpi r24,lo8(92)
5219 0082 01F4 brne .L266
5220 .L265:
5221 .LSM457:
5222 0084 0894 sec
5223 0086 E11C adc r14,__zero_reg__
5224 0088 F11C adc r15,__zero_reg__
5225 .L266:
5226 .LSM458:
5227 008a 1B8A std Y+19,__zero_reg__
5228 008c 1C8A std Y+20,__zero_reg__
5229 008e 1D8A std Y+21,__zero_reg__
5230 0090 1E8A std Y+22,__zero_reg__
5231 .LSM459:
5232 0092 D701 movw r26,r14
5233 0094 8C91 ld r24,X
5234 0096 8032 cpi r24,lo8(32)
5235 0098 00F4 brsh .L267
5236 .LBE24:
5237 .LSM460:
5238 009a CE01 movw r24,r28
5239 009c 0D96 adiw r24,13
5240 009e 60E0 ldi r22,lo8(0)
5241 00a0 70E0 ldi r23,hi8(0)
5242 00a2 0E94 0000 call dir_seek
5243 00a6 282F mov r18,r24
5244 .LVL515:
5245 .LBB39:
5246 .LSM461:
5247 00a8 18A2 std Y+32,__zero_reg__
5248 00aa 1F8E std Y+31,__zero_reg__
5249 00ac 00C0 rjmp .L268
5250 .LVL516:
5251 .L267:
5252 .LBB25:
5253 .LBB27:
5254 .LSM462:
5255 00ae 35E0 ldi r19,lo8(5)
5256 00b0 732E mov r7,r19
5257 .LBE27:
5258 .LBE25:
5259 .LBB31:
5260 .LSM463:
5261 00b2 2DE0 ldi r18,lo8(13)
5262 00b4 822E mov r8,r18
5263 00b6 912C mov r9,__zero_reg__
5264 00b8 8C0E add r8,r28
5265 00ba 9D1E adc r9,r29
5266 .LVL517:
5267 .L320:
5268 .LBE31:
5269 .LBB36:
5270 .LBB26:
5271 .LSM464:
5272 00bc 09A1 ldd r16,Y+33
5273 00be 1AA1 ldd r17,Y+34
5274 .LSM465:
5275 00c0 C801 movw r24,r16
5276 00c2 60E2 ldi r22,lo8(32)
5277 00c4 70E0 ldi r23,hi8(32)
5278 00c6 4BE0 ldi r20,lo8(11)
5279 00c8 50E0 ldi r21,hi8(11)
5280 00ca 0E94 0000 call mem_set
5281 .LVL518:
5282 00ce 40E0 ldi r20,lo8(0)
5283 00d0 50E0 ldi r21,hi8(0)
5284 .LVL519:
5285 00d2 CC24 clr r12
5286 00d4 DD24 clr r13
5287 00d6 98E0 ldi r25,lo8(8)
5288 00d8 A92E mov r10,r25
5289 00da B12C mov r11,__zero_reg__
5290 00dc A0E0 ldi r26,lo8(0)
5291 .LVL520:
5292 .L319:
5293 .LSM466:
5294 00de F701 movw r30,r14
5295 00e0 EC0D add r30,r12
5296 00e2 FD1D adc r31,r13
5297 00e4 2081 ld r18,Z
5298 00e6 0894 sec
5299 00e8 C11C adc r12,__zero_reg__
5300 00ea D11C adc r13,__zero_reg__
5301 .LSM467:
5302 00ec 2132 cpi r18,lo8(33)
5303 00ee 00F4 brsh .+2
5304 00f0 00C0 rjmp .L269
5305 00f2 2F32 cpi r18,lo8(47)
5306 00f4 01F4 brne .+2
5307 00f6 00C0 rjmp .L270
5308 00f8 2C35 cpi r18,lo8(92)
5309 00fa 01F4 brne .+2
5310 00fc 00C0 rjmp .L270
5311 .LSM468:
5312 00fe 2E32 cpi r18,lo8(46)
5313 0100 01F0 breq .L271
5314 0102 4A15 cp r20,r10
5315 0104 5B05 cpc r21,r11
5316 0106 04F0 brlt .L272
5317 .L271:
5318 .LSM469:
5319 0108 B8E0 ldi r27,lo8(8)
5320 010a AB16 cp r10,r27
5321 010c B104 cpc r11,__zero_reg__
5322 010e 01F0 breq .+2
5323 0110 00C0 rjmp .L273
5324 0112 2E32 cpi r18,lo8(46)
5325 0114 01F0 breq .+2
5326 0116 00C0 rjmp .L273
5327 .LSM470:
5328 0118 AA0F lsl r26
5329 011a AA0F lsl r26
5330 011c 48E0 ldi r20,lo8(8)
5331 011e 50E0 ldi r21,hi8(8)
5332 0120 8BE0 ldi r24,lo8(11)
5333 0122 A82E mov r10,r24
5334 0124 B12C mov r11,__zero_reg__
5335 0126 00C0 rjmp .L319
5336 .L272:
5337 .LSM471:
5338 0128 27FD sbrc r18,7
5339 .LSM472:
5340 012a A360 ori r26,lo8(3)
5341 .L275:
5342 .LSM473:
5343 012c 822F mov r24,r18
5344 012e 8158 subi r24,lo8(-(127))
5345 0130 8F31 cpi r24,lo8(31)
5346 0132 00F0 brlo .L276
5347 0134 8F55 subi r24,lo8(-(-95))
5348 0136 8D31 cpi r24,lo8(29)
5349 0138 00F4 brsh .L277
5350 .L276:
5351 .LSM474:
5352 013a F701 movw r30,r14
5353 013c EC0D add r30,r12
5354 013e FD1D adc r31,r13
5355 0140 3081 ld r19,Z
5356 .LSM475:
5357 0142 832F mov r24,r19
5358 0144 8054 subi r24,lo8(-(-64))
5359 0146 8F33 cpi r24,lo8(63)
5360 0148 00F0 brlo .L278
5361 014a 8054 subi r24,lo8(-(-64))
5362 014c 8D37 cpi r24,lo8(125)
5363 014e 00F0 brlo .+2
5364 0150 00C0 rjmp .L273
5365 .L278:
5366 0152 C501 movw r24,r10
5367 0154 0197 sbiw r24,1
5368 0156 4817 cp r20,r24
5369 0158 5907 cpc r21,r25
5370 015a 04F0 brlt .+2
5371 015c 00C0 rjmp .L273
5372 .LSM476:
5373 015e 0894 sec
5374 0160 C11C adc r12,__zero_reg__
5375 0162 D11C adc r13,__zero_reg__
5376 .LSM477:
5377 0164 F801 movw r30,r16
5378 0166 E40F add r30,r20
5379 0168 F51F adc r31,r21
5380 016a 2083 st Z,r18
5381 016c CA01 movw r24,r20
5382 016e 0196 adiw r24,1
5383 .LVL521:
5384 .LSM478:
5385 0170 F801 movw r30,r16
5386 0172 E80F add r30,r24
5387 0174 F91F adc r31,r25
5388 0176 3083 st Z,r19
5389 0178 AC01 movw r20,r24
5390 017a 00C0 rjmp .L321
5391 .LVL522:
5392 .L277:
5393 .LSM479:
5394 017c 622F mov r22,r18
5395 017e 70E0 ldi r23,lo8(0)
5396 0180 E0E0 ldi r30,lo8(.LC0)
5397 0182 F0E0 ldi r31,hi8(.LC0)
5398 .LVL523:
5399 0184 00C0 rjmp .L279
5400 .L281:
5401 .LBB28:
5402 .LBB29:
5403 .LSM480:
5404 0186 3196 adiw r30,1
5405 .L279:
5406 0188 8081 ld r24,Z
5407 018a 8823 tst r24
5408 018c 01F0 breq .L280
5409 018e 90E0 ldi r25,lo8(0)
5410 0190 8617 cp r24,r22
5411 0192 9707 cpc r25,r23
5412 0194 01F4 brne .L281
5413 0196 00C0 rjmp .L273
5414 .L280:
5415 .LBE29:
5416 .LBE28:
5417 .LSM481:
5418 0198 822F mov r24,r18
5419 019a 8154 subi r24,lo8(-(-65))
5420 019c 8A31 cpi r24,lo8(26)
5421 019e 00F4 brsh .L282
5422 .LSM482:
5423 01a0 A260 ori r26,lo8(2)
5424 01a2 00C0 rjmp .L283
5425 .L282:
5426 .LSM483:
5427 01a4 822F mov r24,r18
5428 01a6 8156 subi r24,lo8(-(-97))
5429 01a8 8A31 cpi r24,lo8(26)
5430 01aa 00F4 brsh .L283
5431 .LSM484:
5432 01ac A160 ori r26,lo8(1)
5433 01ae 2052 subi r18,lo8(-(-32))
5434 .L283:
5435 .LSM485:
5436 01b0 F801 movw r30,r16
5437 .LVL524:
5438 01b2 E40F add r30,r20
5439 01b4 F51F adc r31,r21
5440 01b6 2083 st Z,r18
5441 .LVL525:
5442 .L321:
5443 01b8 4F5F subi r20,lo8(-(1))
5444 01ba 5F4F sbci r21,hi8(-(1))
5445 01bc 00C0 rjmp .L319
5446 .L269:
5447 01be 9A2F mov r25,r26
5448 01c0 64E0 ldi r22,lo8(4)
5449 .LVL526:
5450 .L313:
5451 .LSM486:
5452 01c2 452B or r20,r21
5453 01c4 01F4 brne .+2
5454 01c6 00C0 rjmp .L273
5455 .LSM487:
5456 01c8 F801 movw r30,r16
5457 01ca 8081 ld r24,Z
5458 01cc 853E cpi r24,lo8(-27)
5459 01ce 01F4 brne .L284
5460 01d0 7082 st Z,r7
5461 .L284:
5462 .LSM488:
5463 01d2 F8E0 ldi r31,lo8(8)
5464 01d4 AF16 cp r10,r31
5465 01d6 B104 cpc r11,__zero_reg__
5466 01d8 01F4 brne .L285
5467 01da 9A2F mov r25,r26
5468 01dc 990F lsl r25
5469 01de 990F lsl r25
5470 .LVL527:
5471 .L285:
5472 .LSM489:
5473 01e0 292F mov r18,r25
5474 01e2 30E0 ldi r19,lo8(0)
5475 .LVL528:
5476 01e4 C901 movw r24,r18
5477 01e6 8370 andi r24,lo8(3)
5478 01e8 9070 andi r25,hi8(3)
5479 01ea 0197 sbiw r24,1
5480 01ec 01F4 brne .L286
5481 01ee 6061 ori r22,lo8(16)
5482 .L286:
5483 .LSM490:
5484 01f0 2C70 andi r18,lo8(12)
5485 01f2 3070 andi r19,hi8(12)
5486 01f4 2430 cpi r18,4
5487 01f6 3105 cpc r19,__zero_reg__
5488 01f8 01F4 brne .L287
5489 01fa 6860 ori r22,lo8(8)
5490 .L287:
5491 .LSM491:
5492 01fc D801 movw r26,r16
5493 01fe 1B96 adiw r26,11
5494 0200 6C93 st X,r22
5495 .LBE26:
5496 .LBE36:
5497 .LBB37:
5498 .LSM492:
5499 0202 C401 movw r24,r8
5500 0204 60E0 ldi r22,lo8(0)
5501 0206 70E0 ldi r23,hi8(0)
5502 .LVL529:
5503 0208 0E94 0000 call dir_seek
5504 .LVL530:
5505 .L322:
5506 020c 482F mov r20,r24
5507 .LVL531:
5508 .LBB32:
5509 .LSM493:
5510 020e 8823 tst r24
5511 0210 01F4 brne .L288
5512 .LVL532:
5513 .LBE32:
5514 .LSM494:
5515 0212 4B8D ldd r20,Y+27
5516 0214 5C8D ldd r21,Y+28
5517 0216 6D8D ldd r22,Y+29
5518 0218 7E8D ldd r23,Y+30
5519 021a 8D85 ldd r24,Y+13
5520 021c 9E85 ldd r25,Y+14
5521 .LVL533:
5522 021e 0E94 0000 call move_window
5523 0222 482F mov r20,r24
5524 .LVL534:
5525 .LBB35:
5526 .LSM495:
5527 0224 8823 tst r24
5528 0226 01F4 brne .L288
5529 .LVL535:
5530 .LSM496:
5531 0228 EF8D ldd r30,Y+31
5532 022a F8A1 ldd r31,Y+32
5533 .LVL536:
5534 .LSM497:
5535 022c 8081 ld r24,Z
5536 .LVL537:
5537 022e 8823 tst r24
5538 0230 01F4 brne .L289
5539 0232 44E0 ldi r20,lo8(4)
5540 0234 00C0 rjmp .L288
5541 .L289:
5542 .LSM498:
5543 0236 8385 ldd r24,Z+11
5544 0238 83FD sbrc r24,3
5545 023a 00C0 rjmp .L290
5546 023c 89A1 ldd r24,Y+33
5547 .LVL538:
5548 023e 9AA1 ldd r25,Y+34
5549 .LVL539:
5550 0240 9C01 movw r18,r24
5551 .LVL540:
5552 0242 D901 movw r26,r18
5553 .LVL541:
5554 0244 2BE0 ldi r18,lo8(11)
5555 0246 30E0 ldi r19,hi8(11)
5556 .LVL542:
5557 .L291:
5558 .LBB33:
5559 .LBB34:
5560 .LSM499:
5561 0248 2150 subi r18,lo8(-(-1))
5562 024a 3040 sbci r19,hi8(-(-1))
5563 024c 8FEF ldi r24,hi8(-1)
5564 024e 2F3F cpi r18,lo8(-1)
5565 0250 3807 cpc r19,r24
5566 0252 01F0 breq .L288
5567 0254 9081 ld r25,Z
5568 .LVL543:
5569 0256 8C91 ld r24,X
5570 0258 9817 cp r25,r24
5571 025a 01F4 brne .L290
5572 025c 3196 adiw r30,1
5573 .LVL544:
5574 025e 1196 adiw r26,1
5575 0260 00C0 rjmp .L291
5576 .LVL545:
5577 .L290:
5578 .LBE34:
5579 .LBE33:
5580 .LBE35:
5581 .LSM500:
5582 0262 C401 movw r24,r8
5583 0264 60E0 ldi r22,lo8(0)
5584 0266 0E94 0000 call dir_next
5585 .LVL546:
5586 026a 00C0 rjmp .L322
5587 .LVL547:
5588 .L288:
5589 .LBE37:
5590 .LSM501:
5591 026c E9A1 ldd r30,Y+33
5592 026e FAA1 ldd r31,Y+34
5593 .LVL548:
5594 0270 8385 ldd r24,Z+11
5595 .LVL549:
5596 0272 8470 andi r24,lo8(4)
5597 .LSM502:
5598 0274 4423 tst r20
5599 0276 01F0 breq .L293
5600 0278 242F mov r18,r20
5601 .LVL550:
5602 .LSM503:
5603 027a 4430 cpi r20,lo8(4)
5604 027c 01F4 brne .L294
5605 027e 8823 tst r24
5606 0280 01F0 breq .L295
5607 0282 00C0 rjmp .L268
5608 .LVL551:
5609 .L293:
5610 .LSM504:
5611 0284 8823 tst r24
5612 0286 01F4 brne .L294
5613 .LSM505:
5614 0288 EF8D ldd r30,Y+31
5615 028a F8A1 ldd r31,Y+32
5616 .LVL552:
5617 .LSM506:
5618 028c 8385 ldd r24,Z+11
5619 .LVL553:
5620 028e 84FF sbrs r24,4
5621 0290 00C0 rjmp .L295
5622 .LBB38:
5623 .LBB30:
5624 .LSM507:
5625 0292 EC0C add r14,r12
5626 0294 FD1C adc r15,r13
5627 .LBE30:
5628 .LBE38:
5629 .LSM508:
5630 0296 8489 ldd r24,Z+20
5631 0298 9589 ldd r25,Z+21
5632 029a A0E0 ldi r26,lo8(0)
5633 029c B0E0 ldi r27,hi8(0)
5634 .LVL554:
5635 029e DC01 movw r26,r24
5636 02a0 9927 clr r25
5637 02a2 8827 clr r24
5638 02a4 228D ldd r18,Z+26
5639 02a6 338D ldd r19,Z+27
5640 .LVL555:
5641 02a8 40E0 ldi r20,lo8(0)
5642 02aa 50E0 ldi r21,hi8(0)
5643 .LVL556:
5644 02ac 822B or r24,r18
5645 02ae 932B or r25,r19
5646 02b0 A42B or r26,r20
5647 02b2 B52B or r27,r21
5648 02b4 8B8B std Y+19,r24
5649 02b6 9C8B std Y+20,r25
5650 02b8 AD8B std Y+21,r26
5651 02ba BE8B std Y+22,r27
5652 02bc 00C0 rjmp .L320
5653 .LVL557:
5654 .L273:
5655 02be 26E0 ldi r18,lo8(6)
5656 .LVL558:
5657 02c0 00C0 rjmp .L268
5658 .LVL559:
5659 .L294:
5660 02c2 242F mov r18,r20
5661 .LVL560:
5662 02c4 00C0 rjmp .L268
5663 .LVL561:
5664 .L295:
5665 02c6 25E0 ldi r18,lo8(5)
5666 .LVL562:
5667 .L268:
5668 .LBE39:
5669 .LBE23:
5670 .LSM509:
5671 02c8 9DA1 ldd r25,Y+37
5672 .LVL563:
5673 02ca 492F mov r20,r25
5674 .LVL564:
5675 02cc 50E0 ldi r21,lo8(0)
5676 02ce CA01 movw r24,r20
5677 .LVL565:
5678 02d0 8C71 andi r24,lo8(28)
5679 02d2 9070 andi r25,hi8(28)
5680 02d4 892B or r24,r25
5681 02d6 01F4 brne .+2
5682 02d8 00C0 rjmp .L296
5683 .LBB40:
5684 .LSM510:
5685 02da 2223 tst r18
5686 02dc 01F4 brne .+2
5687 02de 00C0 rjmp .L297
5688 .LSM511:
5689 02e0 2430 cpi r18,lo8(4)
5690 02e2 01F0 breq .+2
5691 02e4 00C0 rjmp .L262
5692 .LBB45:
5693 .LSM512:
5694 02e6 8E01 movw r16,r28
5695 .LVL566:
5696 02e8 035F subi r16,lo8(-(13))
5697 02ea 1F4F sbci r17,hi8(-(13))
5698 02ec C801 movw r24,r16
5699 02ee 60E0 ldi r22,lo8(0)
5700 02f0 70E0 ldi r23,hi8(0)
5701 .LVL567:
5702 02f2 0E94 0000 call dir_seek
5703 .LVL568:
5704 02f6 282F mov r18,r24
5705 .LVL569:
5706 .LBB48:
5707 .LSM513:
5708 02f8 8823 tst r24
5709 02fa 01F0 breq .+2
5710 02fc 00C0 rjmp .L262
5711 .LVL570:
5712 .L315:
5713 .LBE48:
5714 .LSM514:
5715 02fe 4B8D ldd r20,Y+27
5716 0300 5C8D ldd r21,Y+28
5717 0302 6D8D ldd r22,Y+29
5718 0304 7E8D ldd r23,Y+30
5719 0306 8D85 ldd r24,Y+13
5720 0308 9E85 ldd r25,Y+14
5721 .LVL571:
5722 030a 0E94 0000 call move_window
5723 .LVL572:
5724 030e 282F mov r18,r24
5725 .LVL573:
5726 .LBB47:
5727 .LSM515:
5728 0310 8823 tst r24
5729 0312 01F0 breq .+2
5730 0314 00C0 rjmp .L262
5731 .LVL574:
5732 .LSM516:
5733 0316 EF8D ldd r30,Y+31
5734 0318 F8A1 ldd r31,Y+32
5735 031a E081 ld r30,Z
5736 .LVL575:
5737 .LSM517:
5738 031c E53E cpi r30,lo8(-27)
5739 031e 01F4 brne .+2
5740 0320 00C0 rjmp .L298
5741 0322 EE23 tst r30
5742 0324 01F4 brne .+2
5743 0326 00C0 rjmp .L298
5744 .LBE47:
5745 .LSM518:
5746 0328 C801 movw r24,r16
5747 .LVL576:
5748 032a 61E0 ldi r22,lo8(1)
5749 032c 0E94 0000 call dir_next
5750 .LVL577:
5751 0330 282F mov r18,r24
5752 .LVL578:
5753 .LBB46:
5754 .LSM519:
5755 0332 8823 tst r24
5756 0334 01F0 breq .L315
5757 .LVL579:
5758 0336 00C0 rjmp .L262
5759 .L323:
5760 .LSM520:
5761 0338 0F8D ldd r16,Y+31
5762 033a 18A1 ldd r17,Y+32
5763 .LVL580:
5764 .LSM521:
5765 033c C801 movw r24,r16
5766 .LVL581:
5767 033e 60E0 ldi r22,lo8(0)
5768 0340 70E0 ldi r23,hi8(0)
5769 0342 40E2 ldi r20,lo8(32)
5770 0344 50E0 ldi r21,hi8(32)
5771 0346 0E94 0000 call mem_set
5772 .LVL582:
5773 .LSM522:
5774 034a 69A1 ldd r22,Y+33
5775 034c 7AA1 ldd r23,Y+34
5776 034e C801 movw r24,r16
5777 0350 4BE0 ldi r20,lo8(11)
5778 0352 50E0 ldi r21,hi8(11)
5779 0354 0E94 0000 call mem_cpy
5780 .LSM523:
5781 0358 E9A1 ldd r30,Y+33
5782 035a FAA1 ldd r31,Y+34
5783 035c 8385 ldd r24,Z+11
5784 035e 8871 andi r24,lo8(24)
5785 0360 D801 movw r26,r16
5786 0362 1C96 adiw r26,12
5787 0364 8C93 st X,r24
5788 .LSM524:
5789 0366 ED85 ldd r30,Y+13
5790 0368 FE85 ldd r31,Y+14
5791 036a 81E0 ldi r24,lo8(1)
5792 036c 8483 std Z+4,r24
5793 .LBE46:
5794 .LBE45:
5795 .LSM525:
5796 036e BDA1 ldd r27,Y+37
5797 0370 B860 ori r27,lo8(8)
5798 0372 BDA3 std Y+37,r27
5799 .LVL583:
5800 .LSM526:
5801 0374 EF8D ldd r30,Y+31
5802 0376 F8A1 ldd r31,Y+32
5803 0378 FBA7 std Y+43,r31
5804 037a EAA7 std Y+42,r30
5805 .LVL584:
5806 037c 00C0 rjmp .L300
5807 .LVL585:
5808 .L297:
5809 .LSM527:
5810 037e 42FF sbrs r20,2
5811 0380 00C0 rjmp .L301
5812 0382 28E0 ldi r18,lo8(8)
5813 0384 00C0 rjmp .L262
5814 .L301:
5815 .LSM528:
5816 0386 8F8D ldd r24,Y+31
5817 0388 98A1 ldd r25,Y+32
5818 038a 9BA7 std Y+43,r25
5819 038c 8AA7 std Y+42,r24
5820 .LVL586:
5821 .LSM529:
5822 038e 0097 sbiw r24,0
5823 0390 01F4 brne .+2
5824 0392 00C0 rjmp .L302
5825 0394 DC01 movw r26,r24
5826 .LVL587:
5827 0396 1B96 adiw r26,11
5828 0398 8C91 ld r24,X
5829 039a 1B97 sbiw r26,11
5830 039c 8171 andi r24,lo8(17)
5831 039e 01F0 breq .+2
5832 03a0 00C0 rjmp .L302
5833 .LSM530:
5834 03a2 43FF sbrs r20,3
5835 03a4 00C0 rjmp .L300
5836 .LSM531:
5837 03a6 5496 adiw r26,20
5838 03a8 8D91 ld r24,X+
5839 03aa 9C91 ld r25,X
5840 03ac 5597 sbiw r26,20+1
5841 03ae A0E0 ldi r26,lo8(0)
5842 03b0 B0E0 ldi r27,hi8(0)
5843 03b2 7C01 movw r14,r24
5844 03b4 DD24 clr r13
5845 03b6 CC24 clr r12
5846 .LVL588:
5847 03b8 EAA5 ldd r30,Y+42
5848 03ba FBA5 ldd r31,Y+43
5849 .LVL589:
5850 03bc 828D ldd r24,Z+26
5851 03be 938D ldd r25,Z+27
5852 03c0 A0E0 ldi r26,lo8(0)
5853 03c2 B0E0 ldi r27,hi8(0)
5854 03c4 C82A or r12,r24
5855 03c6 D92A or r13,r25
5856 03c8 EA2A or r14,r26
5857 03ca FB2A or r15,r27
5858 .LSM532:
5859 03cc 158A std Z+21,__zero_reg__
5860 03ce 148A std Z+20,__zero_reg__
5861 .LSM533:
5862 03d0 138E std Z+27,__zero_reg__
5863 03d2 128E std Z+26,__zero_reg__
5864 .LSM534:
5865 03d4 148E std Z+28,__zero_reg__
5866 03d6 158E std Z+29,__zero_reg__
5867 03d8 168E std Z+30,__zero_reg__
5868 03da 178E std Z+31,__zero_reg__
5869 .LSM535:
5870 03dc 2D84 ldd r2,Y+13
5871 03de 3E84 ldd r3,Y+14
5872 03e0 81E0 ldi r24,lo8(1)
5873 03e2 F101 movw r30,r2
5874 03e4 8483 std Z+4,r24
5875 .LSM536:
5876 03e6 D101 movw r26,r2
5877 03e8 9A96 adiw r26,42
5878 03ea 8D91 ld r24,X+
5879 03ec 9D91 ld r25,X+
5880 03ee 0D90 ld __tmp_reg__,X+
5881 03f0 BC91 ld r27,X
5882 03f2 A02D mov r26,__tmp_reg__
5883 03f4 8EA3 std Y+38,r24
5884 03f6 9FA3 std Y+39,r25
5885 03f8 A8A7 std Y+40,r26
5886 03fa B9A7 std Y+41,r27
5887 .LVL590:
5888 .LSM537:
5889 03fc C114 cp r12,__zero_reg__
5890 03fe D104 cpc r13,__zero_reg__
5891 0400 E104 cpc r14,__zero_reg__
5892 0402 F104 cpc r15,__zero_reg__
5893 0404 01F4 brne .+2
5894 0406 00C0 rjmp .L303
5895 .LBB41:
5896 .LBB42:
5897 .LSM538:
5898 0408 B1E0 ldi r27,lo8(1)
5899 040a CB16 cp r12,r27
5900 040c D104 cpc r13,__zero_reg__
5901 040e E104 cpc r14,__zero_reg__
5902 0410 F104 cpc r15,__zero_reg__
5903 0412 01F4 brne .+2
5904 0414 00C0 rjmp .L304
5905 0416 828D ldd r24,Z+26
5906 0418 938D ldd r25,Z+27
5907 041a A48D ldd r26,Z+28
5908 041c B58D ldd r27,Z+29
5909 041e C816 cp r12,r24
5910 0420 D906 cpc r13,r25
5911 0422 EA06 cpc r14,r26
5912 0424 FB06 cpc r15,r27
5913 0426 00F0 brlo .+2
5914 0428 00C0 rjmp .L304
5915 042a 4601 movw r8,r12
5916 042c 5701 movw r10,r14
5917 042e 00C0 rjmp .L305
5918 .LVL591:
5919 .L309:
5920 .LBE42:
5921 .LSM539:
5922 0430 C101 movw r24,r2
5923 0432 B501 movw r22,r10
5924 0434 A401 movw r20,r8
5925 0436 0E94 0000 call get_fat
5926 .LVL592:
5927 043a 2B01 movw r4,r22
5928 043c 3C01 movw r6,r24
5929 .LVL593:
5930 .LBB43:
5931 .LSM540:
5932 043e 6115 cp r22,__zero_reg__
5933 0440 7105 cpc r23,__zero_reg__
5934 0442 8105 cpc r24,__zero_reg__
5935 0444 9105 cpc r25,__zero_reg__
5936 0446 01F4 brne .+2
5937 0448 00C0 rjmp .L306
5938 .LVL594:
5939 .LSM541:
5940 044a 6130 cpi r22,lo8(1)
5941 044c 7105 cpc r23,__zero_reg__
5942 044e 8105 cpc r24,__zero_reg__
5943 0450 9105 cpc r25,__zero_reg__
5944 0452 01F0 breq .L304
5945 .LSM542:
5946 0454 6F3F cpi r22,lo8(-1)
5947 0456 2FEF ldi r18,hi8(-1)
5948 0458 7207 cpc r23,r18
5949 045a 2FEF ldi r18,hlo8(-1)
5950 045c 8207 cpc r24,r18
5951 045e 2FEF ldi r18,hhi8(-1)
5952 0460 9207 cpc r25,r18
5953 0462 01F4 brne .L307
5954 0464 21E0 ldi r18,lo8(1)
5955 .LVL595:
5956 0466 00C0 rjmp .L262
5957 .LVL596:
5958 .L307:
5959 .LBE43:
5960 .LSM543:
5961 0468 C101 movw r24,r2
5962 046a B501 movw r22,r10
5963 046c A401 movw r20,r8
5964 046e 00E0 ldi r16,lo8(0)
5965 0470 10E0 ldi r17,hi8(0)
5966 0472 20E0 ldi r18,hlo8(0)
5967 0474 30E0 ldi r19,hhi8(0)
5968 .LVL597:
5969 0476 0E94 0000 call put_fat
5970 .LVL598:
5971 047a 282F mov r18,r24
5972 .LVL599:
5973 .LBB44:
5974 .LSM544:
5975 047c 8823 tst r24
5976 047e 01F0 breq .+2
5977 0480 00C0 rjmp .L262
5978 .LVL600:
5979 .LSM545:
5980 0482 F101 movw r30,r2
5981 0484 8685 ldd r24,Z+14
5982 0486 9785 ldd r25,Z+15
5983 0488 A089 ldd r26,Z+16
5984 048a B189 ldd r27,Z+17
5985 .LVL601:
5986 048c 8F3F cpi r24,lo8(-1)
5987 048e FFEF ldi r31,hi8(-1)
5988 0490 9F07 cpc r25,r31
5989 0492 FFEF ldi r31,hlo8(-1)
5990 0494 AF07 cpc r26,r31
5991 0496 FFEF ldi r31,hhi8(-1)
5992 0498 BF07 cpc r27,r31
5993 049a 01F0 breq .L308
5994 .LSM546:
5995 049c 0196 adiw r24,1
5996 049e A11D adc r26,__zero_reg__
5997 04a0 B11D adc r27,__zero_reg__
5998 04a2 F101 movw r30,r2
5999 04a4 8687 std Z+14,r24
6000 04a6 9787 std Z+15,r25
6001 04a8 A08B std Z+16,r26
6002 04aa B18B std Z+17,r27
6003 .LSM547:
6004 04ac 21E0 ldi r18,lo8(1)
6005 .LVL602:
6006 04ae 2583 std Z+5,r18
6007 .LVL603:
6008 .L308:
6009 04b0 5301 movw r10,r6
6010 04b2 4201 movw r8,r4
6011 .LVL604:
6012 .L305:
6013 .LSM548:
6014 04b4 F101 movw r30,r2
6015 04b6 828D ldd r24,Z+26
6016 04b8 938D ldd r25,Z+27
6017 04ba A48D ldd r26,Z+28
6018 04bc B58D ldd r27,Z+29
6019 04be 8816 cp r8,r24
6020 04c0 9906 cpc r9,r25
6021 04c2 AA06 cpc r10,r26
6022 04c4 BB06 cpc r11,r27
6023 04c6 00F4 brsh .+2
6024 04c8 00C0 rjmp .L309
6025 04ca 00C0 rjmp .L306
6026 .LVL605:
6027 .L304:
6028 04cc 22E0 ldi r18,lo8(2)
6029 04ce 00C0 rjmp .L262
6030 .LVL606:
6031 .L303:
6032 .LBE44:
6033 .LBE41:
6034 .LSM549:
6035 04d0 8D85 ldd r24,Y+13
6036 04d2 9E85 ldd r25,Y+14
6037 04d4 4EA1 ldd r20,Y+38
6038 04d6 5FA1 ldd r21,Y+39
6039 04d8 68A5 ldd r22,Y+40
6040 04da 79A5 ldd r23,Y+41
6041 04dc 0E94 0000 call move_window
6042 .LVL607:
6043 04e0 282F mov r18,r24
6044 .LVL608:
6045 .LSM550:
6046 04e2 8823 tst r24
6047 04e4 01F0 breq .+2
6048 04e6 00C0 rjmp .L262
6049 .LVL609:
6050 .L300:
6051 .LSM551:
6052 04e8 FDA1 ldd r31,Y+37
6053 04ea F3FF sbrs r31,3
6054 04ec 00C0 rjmp .L310
6055 .LSM552:
6056 04ee AAA5 ldd r26,Y+42
6057 04f0 BBA5 ldd r27,Y+43
6058 04f2 1B96 adiw r26,11
6059 04f4 1C92 st X,__zero_reg__
6060 .LSM553:
6061 04f6 0E94 0000 call get_fattime
6062 .LVL610:
6063 .LSM554:
6064 04fa EAA5 ldd r30,Y+42
6065 04fc FBA5 ldd r31,Y+43
6066 04fe 6687 std Z+14,r22
6067 0500 7787 std Z+15,r23
6068 0502 808B std Z+16,r24
6069 0504 918B std Z+17,r25
6070 .LSM555:
6071 0506 ED85 ldd r30,Y+13
6072 0508 FE85 ldd r31,Y+14
6073 050a 81E0 ldi r24,lo8(1)
6074 050c 8483 std Z+4,r24
6075 .LSM556:
6076 050e FDA1 ldd r31,Y+37
6077 0510 F062 ori r31,lo8(32)
6078 0512 FDA3 std Y+37,r31
6079 .LVL611:
6080 0514 00C0 rjmp .L310
6081 .LVL612:
6082 .L296:
6083 .LBE40:
6084 .LSM557:
6085 0516 2223 tst r18
6086 0518 01F0 breq .+2
6087 051a 00C0 rjmp .L262
6088 .LSM558:
6089 051c 8F8D ldd r24,Y+31
6090 051e 98A1 ldd r25,Y+32
6091 0520 9BA7 std Y+43,r25
6092 0522 8AA7 std Y+42,r24
6093 .LVL613:
6094 .LSM559:
6095 0524 0097 sbiw r24,0
6096 0526 01F4 brne .+2
6097 0528 00C0 rjmp .L311
6098 052a DC01 movw r26,r24
6099 .LVL614:
6100 052c 1B96 adiw r26,11
6101 052e 8C91 ld r24,X
6102 0530 84FD sbrc r24,4
6103 0532 00C0 rjmp .L311
6104 .LSM560:
6105 0534 41FF sbrs r20,1
6106 0536 00C0 rjmp .L310
6107 0538 80FD sbrc r24,0
6108 053a 00C0 rjmp .L302
6109 .LVL615:
6110 .L310:
6111 .LSM561:
6112 053c 6D85 ldd r22,Y+13
6113 053e 7E85 ldd r23,Y+14
6114 .LVL616:
6115 0540 FB01 movw r30,r22
6116 .LVL617:
6117 0542 22A5 ldd r18,Z+42
6118 0544 33A5 ldd r19,Z+43
6119 0546 44A5 ldd r20,Z+44
6120 0548 55A5 ldd r21,Z+45
6121 .LVL618:
6122 054a ACA5 ldd r26,Y+44
6123 054c BDA5 ldd r27,Y+45
6124 054e 5A96 adiw r26,26
6125 0550 2D93 st X+,r18
6126 0552 3D93 st X+,r19
6127 0554 4D93 st X+,r20
6128 0556 5C93 st X,r21
6129 0558 5D97 sbiw r26,26+3
6130 .LSM562:
6131 055a 8F8D ldd r24,Y+31
6132 055c 98A1 ldd r25,Y+32
6133 .LVL619:
6134 055e 5F96 adiw r26,30+1
6135 0560 9C93 st X,r25
6136 0562 8E93 st -X,r24
6137 0564 5E97 sbiw r26,30
6138 .LSM563:
6139 0566 EDA1 ldd r30,Y+37
6140 0568 1496 adiw r26,4
6141 056a EC93 st X,r30
6142 .LSM564:
6143 056c AAA5 ldd r26,Y+42
6144 056e BBA5 ldd r27,Y+43
6145 0570 5496 adiw r26,20
6146 0572 8D91 ld r24,X+
6147 0574 9C91 ld r25,X
6148 0576 5597 sbiw r26,20+1
6149 0578 A0E0 ldi r26,lo8(0)
6150 057a B0E0 ldi r27,hi8(0)
6151 057c DC01 movw r26,r24
6152 057e 9927 clr r25
6153 0580 8827 clr r24
6154 0582 EAA5 ldd r30,Y+42
6155 0584 FBA5 ldd r31,Y+43
6156 0586 228D ldd r18,Z+26
6157 0588 338D ldd r19,Z+27
6158 058a 40E0 ldi r20,lo8(0)
6159 058c 50E0 ldi r21,hi8(0)
6160 058e 822B or r24,r18
6161 0590 932B or r25,r19
6162 0592 A42B or r26,r20
6163 0594 B52B or r27,r21
6164 0596 ECA5 ldd r30,Y+44
6165 0598 FDA5 ldd r31,Y+45
6166 059a 8687 std Z+14,r24
6167 059c 9787 std Z+15,r25
6168 059e A08B std Z+16,r26
6169 05a0 B18B std Z+17,r27
6170 .LSM565:
6171 05a2 EAA5 ldd r30,Y+42
6172 05a4 FBA5 ldd r31,Y+43
6173 05a6 848D ldd r24,Z+28
6174 05a8 958D ldd r25,Z+29
6175 05aa A68D ldd r26,Z+30
6176 05ac B78D ldd r27,Z+31
6177 05ae ECA5 ldd r30,Y+44
6178 05b0 FDA5 ldd r31,Y+45
6179 05b2 8287 std Z+10,r24
6180 05b4 9387 std Z+11,r25
6181 05b6 A487 std Z+12,r26
6182 05b8 B587 std Z+13,r27
6183 .LSM566:
6184 05ba 1682 std Z+6,__zero_reg__
6185 05bc 1782 std Z+7,__zero_reg__
6186 05be 1086 std Z+8,__zero_reg__
6187 05c0 1186 std Z+9,__zero_reg__
6188 05c2 8FEF ldi r24,lo8(-1)
6189 05c4 8583 std Z+5,r24
6190 .LSM567:
6191 05c6 ECA5 ldd r30,Y+44
6192 05c8 FDA5 ldd r31,Y+45
6193 05ca 168A std Z+22,__zero_reg__
6194 05cc 178A std Z+23,__zero_reg__
6195 05ce 108E std Z+24,__zero_reg__
6196 05d0 118E std Z+25,__zero_reg__
6197 .LSM568:
6198 05d2 7183 std Z+1,r23
6199 05d4 6083 st Z,r22
6200 05d6 DB01 movw r26,r22
6201 05d8 1696 adiw r26,6
6202 05da 8D91 ld r24,X+
6203 05dc 9C91 ld r25,X
6204 05de 1797 sbiw r26,6+1
6205 05e0 9383 std Z+3,r25
6206 05e2 8283 std Z+2,r24
6207 05e4 20E0 ldi r18,lo8(0)
6208 .LVL620:
6209 05e6 00C0 rjmp .L262
6210 .LVL621:
6211 .L302:
6212 .LSM569:
6213 05e8 27E0 ldi r18,lo8(7)
6214 05ea 00C0 rjmp .L262
6215 .L311:
6216 05ec 24E0 ldi r18,lo8(4)
6217 .LVL622:
6218 .L262:
6219 .LSM570:
6220 05ee 822F mov r24,r18
6221 /* epilogue start */
6222 05f0 AD96 adiw r28,45
6223 05f2 0FB6 in __tmp_reg__,__SREG__
6224 05f4 F894 cli
6225 05f6 DEBF out __SP_H__,r29
6226 05f8 0FBE out __SREG__,__tmp_reg__
6227 05fa CDBF out __SP_L__,r28
6228 05fc CF91 pop r28
6229 05fe DF91 pop r29
6230 0600 1F91 pop r17
6231 0602 0F91 pop r16
6232 .LVL623:
6233 0604 FF90 pop r15
6234 0606 EF90 pop r14
6235 .LVL624:
6236 0608 DF90 pop r13
6237 060a CF90 pop r12
6238 .LVL625:
6239 060c BF90 pop r11
6240 060e AF90 pop r10
6241 .LVL626:
6242 0610 9F90 pop r9
6243 0612 8F90 pop r8
6244 0614 7F90 pop r7
6245 0616 6F90 pop r6
6246 0618 5F90 pop r5
6247 061a 4F90 pop r4
6248 .LVL627:
6249 061c 3F90 pop r3
6250 061e 2F90 pop r2
6251 0620 0895 ret
6252 .LVL628:
6253 .L298:
6254 .LBB51:
6255 .LBB50:
6256 .LSM571:
6257 0622 4B8D ldd r20,Y+27
6258 0624 5C8D ldd r21,Y+28
6259 0626 6D8D ldd r22,Y+29
6260 0628 7E8D ldd r23,Y+30
6261 062a 8D85 ldd r24,Y+13
6262 062c 9E85 ldd r25,Y+14
6263 .LVL629:
6264 062e 0E94 0000 call move_window
6265 .LVL630:
6266 0632 282F mov r18,r24
6267 .LVL631:
6268 .LBB49:
6269 .LSM572:
6270 0634 8823 tst r24
6271 0636 01F4 brne .L262
6272 .LVL632:
6273 0638 00C0 rjmp .L323
6274 .LVL633:
6275 .L306:
6276 .LBE49:
6277 .LBE50:
6278 .LSM573:
6279 063a ED85 ldd r30,Y+13
6280 063c FE85 ldd r31,Y+14
6281 063e 0894 sec
6282 0640 C108 sbc r12,__zero_reg__
6283 0642 D108 sbc r13,__zero_reg__
6284 0644 E108 sbc r14,__zero_reg__
6285 0646 F108 sbc r15,__zero_reg__
6286 .LVL634:
6287 0648 C286 std Z+10,r12
6288 064a D386 std Z+11,r13
6289 064c E486 std Z+12,r14
6290 064e F586 std Z+13,r15
6291 0650 00C0 rjmp .L303
6292 .LVL635:
6293 .L270:
6294 0652 9A2F mov r25,r26
6295 0654 60E0 ldi r22,lo8(0)
6296 .LVL636:
6297 0656 00C0 rjmp .L313
6298 .LBE51:
6299 .LFE73:
6301 .lcomm FatFs,2
6302 .lcomm Fsid,2
6503 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 ff.c
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2 *ABS*:0000003f __SREG__
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:3 *ABS*:0000003e __SP_H__
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4 *ABS*:0000003d __SP_L__
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:5 *ABS*:00000034 __CCP__
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:6 *ABS*:00000000 __tmp_reg__
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:7 *ABS*:00000001 __zero_reg__
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:18 .text.mem_cpy:00000000 mem_cpy
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:62 .text.mem_set:00000000 mem_set
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:93 .text.clust2sect:00000000 clust2sect
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:175 .text.f_mount:00000000 f_mount
.bss:00000000 FatFs
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:218 .text.validate:00000000 validate
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:257 .text.move_window:00000000 move_window
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:420 .text.put_fat:00000000 put_fat
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:726 .text.get_fat:00000000 get_fat
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:977 .text.create_chain:00000000 create_chain
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:1300 .text.f_lseek:00000000 f_lseek
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:1874 .text.dir_seek:00000000 dir_seek
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2123 .text.f_write:00000000 f_write
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2694 .text.f_putc:00000000 f_putc
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2757 .text.f_puts:00000000 f_puts
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:2818 .text.f_printf:00000000 f_printf
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:3306 .text.dir_next:00000000 dir_next
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:3648 .text.f_read:00000000 f_read
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4093 .text.f_gets:00000000 f_gets
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4207 .text.check_fs:00000000 check_fs
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4292 .text.f_sync:00000000 f_sync
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4540 .text.f_close:00000000 f_close
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:4571 .text.chk_mounted:00000000 chk_mounted
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:6301 .bss:00000002 Fsid
C:\Users\Dean\AppData\Local\Temp/cc2z7VY5.s:5127 .text.f_open:00000000 f_open
UNDEFINED SYMBOLS
__mulsi3
disk_status
disk_write
disk_read
__udivmodsi4
get_fattime
disk_ioctl
disk_initialize
__do_copy_data
__do_clear_bss