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