diff --git a/Projects/TemperatureDataLogger/Lib/FATFs/diskio.lst b/Projects/TemperatureDataLogger/Lib/FATFs/diskio.lst deleted file mode 100644 index 9085e1aae7..0000000000 --- a/Projects/TemperatureDataLogger/Lib/FATFs/diskio.lst +++ /dev/null @@ -1,149 +0,0 @@ - 1 .file "diskio.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.disk_initialize,"ax",@progbits - 17 .global disk_initialize - 19 disk_initialize: - 20 .LFB52: - 21 .LSM0: - 22 .LVL0: - 23 /* prologue: function */ - 24 /* frame size = 0 */ - 25 .LSM1: - 26 0000 80E0 ldi r24,lo8(0) - 27 .LVL1: - 28 /* epilogue start */ - 29 0002 0895 ret - 30 .LFE52: - 32 .section .text.disk_status,"ax",@progbits - 33 .global disk_status - 35 disk_status: - 36 .LFB53: - 37 .LSM2: - 38 .LVL2: - 39 /* prologue: function */ - 40 /* frame size = 0 */ - 41 .LSM3: - 42 0000 80E0 ldi r24,lo8(0) - 43 .LVL3: - 44 /* epilogue start */ - 45 0002 0895 ret - 46 .LFE53: - 48 .section .text.disk_ioctl,"ax",@progbits - 49 .global disk_ioctl - 51 disk_ioctl: - 52 .LFB56: - 53 .LSM4: - 54 .LVL4: - 55 /* prologue: function */ - 56 /* frame size = 0 */ - 57 .LSM5: - 58 0000 6623 tst r22 - 59 0002 01F0 breq .L6 - 60 0004 84E0 ldi r24,lo8(4) - 61 .LVL5: - 62 0006 0895 ret - 63 .LVL6: - 64 .L6: - 65 0008 80E0 ldi r24,lo8(0) - 66 .LVL7: - 67 .LSM6: - 68 000a 0895 ret - 69 .LFE56: - 71 .section .text.get_fattime,"ax",@progbits - 72 .global get_fattime - 74 get_fattime: - 75 .LFB57: - 76 .LSM7: - 77 /* prologue: function */ - 78 /* frame size = 0 */ - 79 .LSM8: - 80 0000 61E2 ldi r22,lo8(35719201) - 81 0002 78E0 ldi r23,hi8(35719201) - 82 0004 81E2 ldi r24,hlo8(35719201) - 83 0006 92E0 ldi r25,hhi8(35719201) - 84 /* epilogue start */ - 85 0008 0895 ret - 86 .LFE57: - 88 .section .text.disk_write,"ax",@progbits - 89 .global disk_write - 91 disk_write: - 92 .LFB55: - 93 .LSM9: - 94 .LVL8: - 95 0000 0F93 push r16 - 96 .LVL9: - 97 /* prologue: function */ - 98 /* frame size = 0 */ - 99 0002 FB01 movw r30,r22 - 100 .LSM10: - 101 0004 CA01 movw r24,r20 - 102 0006 B901 movw r22,r18 - 103 .LVL10: - 104 0008 402F mov r20,r16 - 105 .LVL11: - 106 000a 50E0 ldi r21,lo8(0) - 107 000c 9F01 movw r18,r30 - 108 .LVL12: - 109 000e 0E94 0000 call DataflashManager_WriteBlocks_RAM - 110 .LVL13: - 111 .LSM11: - 112 0012 80E0 ldi r24,lo8(0) - 113 /* epilogue start */ - 114 0014 0F91 pop r16 - 115 .LVL14: - 116 0016 0895 ret - 117 .LFE55: - 119 .section .text.disk_read,"ax",@progbits - 120 .global disk_read - 122 disk_read: - 123 .LFB54: - 124 .LSM12: - 125 .LVL15: - 126 0000 0F93 push r16 - 127 .LVL16: - 128 /* prologue: function */ - 129 /* frame size = 0 */ - 130 0002 FB01 movw r30,r22 - 131 .LSM13: - 132 0004 CA01 movw r24,r20 - 133 0006 B901 movw r22,r18 - 134 .LVL17: - 135 0008 402F mov r20,r16 - 136 .LVL18: - 137 000a 50E0 ldi r21,lo8(0) - 138 000c 9F01 movw r18,r30 - 139 .LVL19: - 140 000e 0E94 0000 call DataflashManager_ReadBlocks_RAM - 141 .LVL20: - 142 .LSM14: - 143 0012 80E0 ldi r24,lo8(0) - 144 /* epilogue start */ - 145 0014 0F91 pop r16 - 146 .LVL21: - 147 0016 0895 ret - 148 .LFE54: - 214 .Letext0: -DEFINED SYMBOLS - *ABS*:00000000 diskio.c -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:2 *ABS*:0000003f __SREG__ -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:3 *ABS*:0000003e __SP_H__ -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:4 *ABS*:0000003d __SP_L__ -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:5 *ABS*:00000034 __CCP__ -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:6 *ABS*:00000000 __tmp_reg__ -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:7 *ABS*:00000001 __zero_reg__ -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:19 .text.disk_initialize:00000000 disk_initialize -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:35 .text.disk_status:00000000 disk_status -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:51 .text.disk_ioctl:00000000 disk_ioctl -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:74 .text.get_fattime:00000000 get_fattime -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:91 .text.disk_write:00000000 disk_write -C:\Users\Dean\AppData\Local\Temp/cc0EySTJ.s:122 .text.disk_read:00000000 disk_read - -UNDEFINED SYMBOLS -DataflashManager_WriteBlocks_RAM -DataflashManager_ReadBlocks_RAM diff --git a/Projects/TemperatureDataLogger/Lib/FATFs/ff.lst b/Projects/TemperatureDataLogger/Lib/FATFs/ff.lst deleted file mode 100644 index 228d16e0ce..0000000000 --- a/Projects/TemperatureDataLogger/Lib/FATFs/ff.lst +++ /dev/null @@ -1,6297 +0,0 @@ - 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 diff --git a/Projects/TemperatureDataLogger/Lib/SCSI.lst b/Projects/TemperatureDataLogger/Lib/SCSI.lst deleted file mode 100644 index 6817a4fd9b..0000000000 --- a/Projects/TemperatureDataLogger/Lib/SCSI.lst +++ /dev/null @@ -1,734 +0,0 @@ - 1 .file "SCSI.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.SCSI_Command_Inquiry,"ax",@progbits - 18 SCSI_Command_Inquiry: - 19 .LFB53: - 20 .LSM0: - 21 .LVL0: - 22 0000 8F92 push r8 - 23 0002 9F92 push r9 - 24 0004 AF92 push r10 - 25 0006 BF92 push r11 - 26 0008 CF92 push r12 - 27 000a DF92 push r13 - 28 000c EF92 push r14 - 29 000e FF92 push r15 - 30 0010 0F93 push r16 - 31 0012 1F93 push r17 - 32 0014 DF93 push r29 - 33 0016 CF93 push r28 - 34 0018 CDB7 in r28,__SP_L__ - 35 001a DEB7 in r29,__SP_H__ - 36 /* prologue: function */ - 37 /* frame size = 0 */ - 38 001c 6C01 movw r12,r24 - 39 .LSM1: - 40 001e ADB6 in r10,__SP_L__ - 41 0020 BEB6 in r11,__SP_H__ - 42 .LSM2: - 43 0022 9DB6 in r9,__SP_L__ - 44 0024 8EB6 in r8,__SP_H__ - 45 .LSM3: - 46 0026 FC01 movw r30,r24 - 47 0028 248D ldd r18,Z+28 - 48 002a 658D ldd r22,Z+29 - 49 .LSM4: - 50 002c 828D ldd r24,Z+26 - 51 .LVL1: - 52 002e 90E0 ldi r25,lo8(0) - 53 0030 8370 andi r24,lo8(3) - 54 0032 9070 andi r25,hi8(3) - 55 0034 892B or r24,r25 - 56 0036 01F4 brne .L2 - 57 0038 838D ldd r24,Z+27 - 58 003a 8823 tst r24 - 59 003c 01F0 breq .L3 - 60 .L2: - 61 .LSM5: - 62 003e 8091 0000 lds r24,SenseData+2 - 63 0042 807F andi r24,lo8(-16) - 64 0044 8560 ori r24,lo8(5) - 65 0046 8093 0000 sts SenseData+2,r24 - 66 004a 84E2 ldi r24,lo8(36) - 67 004c 8093 0000 sts SenseData+12,r24 - 68 0050 1092 0000 sts SenseData+13,__zero_reg__ - 69 0054 00C0 rjmp .L7 - 70 .L3: - 71 .LSM6: - 72 0056 922F mov r25,r18 - 73 0058 80E0 ldi r24,lo8(0) - 74 005a 062F mov r16,r22 - 75 .LVL2: - 76 005c 10E0 ldi r17,lo8(0) - 77 .LVL3: - 78 005e 082B or r16,r24 - 79 0060 192B or r17,r25 - 80 .LVL4: - 81 .LSM7: - 82 0062 7801 movw r14,r16 - 83 .LVL5: - 84 0064 0532 cpi r16,37 - 85 0066 1105 cpc r17,__zero_reg__ - 86 0068 00F0 brlo .L5 - 87 006a 84E2 ldi r24,lo8(36) - 88 006c E82E mov r14,r24 - 89 006e F12C mov r15,__zero_reg__ - 90 .L5: - 91 .LSM8: - 92 0070 80E0 ldi r24,lo8(InquiryData) - 93 0072 90E0 ldi r25,hi8(InquiryData) - 94 0074 B701 movw r22,r14 - 95 0076 40E0 ldi r20,lo8(0) - 96 0078 50E0 ldi r21,hi8(0) - 97 007a 0E94 0000 call Endpoint_Write_Stream_LE - 98 .LSM9: - 99 007e B801 movw r22,r16 - 100 0080 6E19 sub r22,r14 - 101 0082 7F09 sbc r23,r15 - 102 0084 8DB7 in r24,__SP_L__ - 103 0086 9EB7 in r25,__SP_H__ - 104 0088 861B sub r24,r22 - 105 008a 970B sbc r25,r23 - 106 008c 0FB6 in __tmp_reg__,__SREG__ - 107 008e F894 cli - 108 0090 9EBF out __SP_H__,r25 - 109 0092 0FBE out __SREG__,__tmp_reg__ - 110 0094 8DBF out __SP_L__,r24 - 111 .LSM10: - 112 0096 0196 adiw r24,1 - 113 0098 40E0 ldi r20,lo8(0) - 114 009a 50E0 ldi r21,hi8(0) - 115 009c 0E94 0000 call Endpoint_Write_Stream_LE - 116 .LBB6: - 117 .LSM11: - 118 00a0 8091 E800 lds r24,232 - 119 .LVL6: - 120 00a4 982F mov r25,r24 - 121 00a6 9E7F andi r25,lo8(-2) - 122 00a8 9093 E800 sts 232,r25 - 123 00ac 8F77 andi r24,lo8(127) - 124 00ae 8093 E800 sts 232,r24 - 125 .LBE6: - 126 .LSM12: - 127 00b2 9701 movw r18,r14 - 128 00b4 40E0 ldi r20,lo8(0) - 129 00b6 50E0 ldi r21,hi8(0) - 130 .LVL7: - 131 00b8 F601 movw r30,r12 - 132 00ba 8289 ldd r24,Z+18 - 133 00bc 9389 ldd r25,Z+19 - 134 00be A489 ldd r26,Z+20 - 135 00c0 B589 ldd r27,Z+21 - 136 .LVL8: - 137 00c2 821B sub r24,r18 - 138 00c4 930B sbc r25,r19 - 139 00c6 A40B sbc r26,r20 - 140 00c8 B50B sbc r27,r21 - 141 00ca 828B std Z+18,r24 - 142 00cc 938B std Z+19,r25 - 143 00ce A48B std Z+20,r26 - 144 00d0 B58B std Z+21,r27 - 145 .LVL9: - 146 .L7: - 147 00d2 292D mov r18,r9 - 148 .LVL10: - 149 00d4 382D mov r19,r8 - 150 00d6 C901 movw r24,r18 - 151 00d8 0FB6 in __tmp_reg__,__SREG__ - 152 00da F894 cli - 153 00dc 9EBF out __SP_H__,r25 - 154 00de 0FBE out __SREG__,__tmp_reg__ - 155 00e0 8DBF out __SP_L__,r24 - 156 .LSM13: - 157 00e2 0FB6 in __tmp_reg__,__SREG__ - 158 00e4 F894 cli - 159 00e6 BEBE out __SP_H__,r11 - 160 00e8 0FBE out __SREG__,__tmp_reg__ - 161 00ea ADBE out __SP_L__,r10 - 162 /* epilogue start */ - 163 00ec CF91 pop r28 - 164 00ee DF91 pop r29 - 165 00f0 1F91 pop r17 - 166 .LVL11: - 167 00f2 0F91 pop r16 - 168 .LVL12: - 169 00f4 FF90 pop r15 - 170 00f6 EF90 pop r14 - 171 .LVL13: - 172 00f8 DF90 pop r13 - 173 00fa CF90 pop r12 - 174 .LVL14: - 175 00fc BF90 pop r11 - 176 00fe AF90 pop r10 - 177 0100 9F90 pop r9 - 178 0102 8F90 pop r8 - 179 0104 0895 ret - 180 .LFE53: - 182 .section .text.SCSI_Command_Request_Sense,"ax",@progbits - 184 SCSI_Command_Request_Sense: - 185 .LFB54: - 186 .LSM14: - 187 .LVL15: - 188 0000 8F92 push r8 - 189 0002 9F92 push r9 - 190 0004 BF92 push r11 - 191 0006 CF92 push r12 - 192 0008 DF92 push r13 - 193 000a EF92 push r14 - 194 000c FF92 push r15 - 195 000e 0F93 push r16 - 196 0010 1F93 push r17 - 197 0012 DF93 push r29 - 198 0014 CF93 push r28 - 199 0016 CDB7 in r28,__SP_L__ - 200 0018 DEB7 in r29,__SP_H__ - 201 /* prologue: function */ - 202 /* frame size = 0 */ - 203 001a 6C01 movw r12,r24 - 204 .LSM15: - 205 001c 8DB6 in r8,__SP_L__ - 206 001e 9EB6 in r9,__SP_H__ - 207 .LSM16: - 208 0020 FC01 movw r30,r24 - 209 0022 058D ldd r16,Z+29 - 210 .LVL16: - 211 .LSM17: - 212 0024 B02E mov r11,r16 - 213 .LVL17: - 214 0026 0331 cpi r16,lo8(19) - 215 0028 00F0 brlo .L9 - 216 002a 92E1 ldi r25,lo8(18) - 217 002c B92E mov r11,r25 - 218 .L9: - 219 .LSM18: - 220 002e 10E0 ldi r17,lo8(0) - 221 0030 0B19 sub r16,r11 - 222 0032 1109 sbc r17,__zero_reg__ - 223 .LVL18: - 224 0034 8DB7 in r24,__SP_L__ - 225 0036 9EB7 in r25,__SP_H__ - 226 .LVL19: - 227 0038 801B sub r24,r16 - 228 003a 910B sbc r25,r17 - 229 003c 0FB6 in __tmp_reg__,__SREG__ - 230 003e F894 cli - 231 0040 9EBF out __SP_H__,r25 - 232 0042 0FBE out __SREG__,__tmp_reg__ - 233 0044 8DBF out __SP_L__,r24 - 234 0046 EDB6 in r14,__SP_L__ - 235 0048 FEB6 in r15,__SP_H__ - 236 004a 0894 sec - 237 004c E11C adc r14,__zero_reg__ - 238 004e F11C adc r15,__zero_reg__ - 239 .LSM19: - 240 0050 80E0 ldi r24,lo8(SenseData) - 241 0052 90E0 ldi r25,hi8(SenseData) - 242 0054 6B2D mov r22,r11 - 243 0056 70E0 ldi r23,lo8(0) - 244 0058 40E0 ldi r20,lo8(0) - 245 005a 50E0 ldi r21,hi8(0) - 246 005c 0E94 0000 call Endpoint_Write_Stream_LE - 247 .LSM20: - 248 0060 C701 movw r24,r14 - 249 0062 B801 movw r22,r16 - 250 0064 40E0 ldi r20,lo8(0) - 251 0066 50E0 ldi r21,hi8(0) - 252 0068 0E94 0000 call Endpoint_Write_Stream_LE - 253 .LBB7: - 254 .LSM21: - 255 006c 8091 E800 lds r24,232 - 256 .LVL20: - 257 0070 982F mov r25,r24 - 258 0072 9E7F andi r25,lo8(-2) - 259 0074 9093 E800 sts 232,r25 - 260 0078 8F77 andi r24,lo8(127) - 261 007a 8093 E800 sts 232,r24 - 262 .LBE7: - 263 .LSM22: - 264 007e F601 movw r30,r12 - 265 0080 8289 ldd r24,Z+18 - 266 0082 9389 ldd r25,Z+19 - 267 0084 A489 ldd r26,Z+20 - 268 0086 B589 ldd r27,Z+21 - 269 .LVL21: - 270 0088 8B19 sub r24,r11 - 271 008a 9109 sbc r25,__zero_reg__ - 272 008c A109 sbc r26,__zero_reg__ - 273 008e B109 sbc r27,__zero_reg__ - 274 0090 828B std Z+18,r24 - 275 0092 938B std Z+19,r25 - 276 0094 A48B std Z+20,r26 - 277 0096 B58B std Z+21,r27 - 278 .LSM23: - 279 0098 0FB6 in __tmp_reg__,__SREG__ - 280 009a F894 cli - 281 009c 9EBE out __SP_H__,r9 - 282 009e 0FBE out __SREG__,__tmp_reg__ - 283 00a0 8DBE out __SP_L__,r8 - 284 /* epilogue start */ - 285 00a2 CF91 pop r28 - 286 00a4 DF91 pop r29 - 287 00a6 1F91 pop r17 - 288 00a8 0F91 pop r16 - 289 00aa FF90 pop r15 - 290 00ac EF90 pop r14 - 291 00ae DF90 pop r13 - 292 00b0 CF90 pop r12 - 293 .LVL22: - 294 00b2 BF90 pop r11 - 295 .LVL23: - 296 00b4 9F90 pop r9 - 297 00b6 8F90 pop r8 - 298 00b8 0895 ret - 299 .LFE54: - 301 .section .text.SCSI_Command_ReadWrite_10,"ax",@progbits - 303 SCSI_Command_ReadWrite_10: - 304 .LFB57: - 305 .LSM24: - 306 .LVL24: - 307 0000 CF92 push r12 - 308 0002 DF92 push r13 - 309 0004 EF92 push r14 - 310 0006 FF92 push r15 - 311 0008 0F93 push r16 - 312 000a 1F93 push r17 - 313 000c CF93 push r28 - 314 000e DF93 push r29 - 315 /* prologue: function */ - 316 /* frame size = 0 */ - 317 0010 6C01 movw r12,r24 - 318 .LSM25: - 319 0012 FC01 movw r30,r24 - 320 0014 838D ldd r24,Z+27 - 321 0016 948D ldd r25,Z+28 - 322 0018 A58D ldd r26,Z+29 - 323 001a B68D ldd r27,Z+30 - 324 .LVL25: - 325 .LBB8: - 326 .LBB9: - 327 .LSM26: - 328 001c 182F mov r17,r24 - 329 001e 0027 clr r16 - 330 0020 FF24 clr r15 - 331 0022 EE24 clr r14 - 332 .LVL26: - 333 0024 2B2F mov r18,r27 - 334 0026 3327 clr r19 - 335 0028 4427 clr r20 - 336 002a 5527 clr r21 - 337 002c E22A or r14,r18 - 338 002e F32A or r15,r19 - 339 0030 042B or r16,r20 - 340 0032 152B or r17,r21 - 341 0034 9C01 movw r18,r24 - 342 0036 AD01 movw r20,r26 - 343 0038 2070 andi r18,lo8(16711680) - 344 003a 3070 andi r19,hi8(16711680) - 345 003c 5070 andi r21,hhi8(16711680) - 346 003e 232F mov r18,r19 - 347 0040 342F mov r19,r20 - 348 0042 452F mov r20,r21 - 349 0044 5527 clr r21 - 350 0046 E22A or r14,r18 - 351 0048 F32A or r15,r19 - 352 004a 042B or r16,r20 - 353 004c 152B or r17,r21 - 354 004e 8070 andi r24,lo8(65280) - 355 0050 A070 andi r26,hlo8(65280) - 356 0052 B070 andi r27,hhi8(65280) - 357 0054 BA2F mov r27,r26 - 358 0056 A92F mov r26,r25 - 359 0058 982F mov r25,r24 - 360 005a 8827 clr r24 - 361 005c E82A or r14,r24 - 362 005e F92A or r15,r25 - 363 0060 0A2B or r16,r26 - 364 0062 1B2B or r17,r27 - 365 .LBE9: - 366 .LBE8: - 367 .LSM27: - 368 0064 80A1 ldd r24,Z+32 - 369 0066 91A1 ldd r25,Z+33 - 370 .LSM28: - 371 0068 F0E0 ldi r31,lo8(32768) - 372 006a EF16 cp r14,r31 - 373 006c F0E8 ldi r31,hi8(32768) - 374 006e FF06 cpc r15,r31 - 375 0070 F0E0 ldi r31,hlo8(32768) - 376 0072 0F07 cpc r16,r31 - 377 0074 F0E0 ldi r31,hhi8(32768) - 378 0076 1F07 cpc r17,r31 - 379 0078 00F0 brlo .L12 - 380 .LSM29: - 381 007a 8091 0000 lds r24,SenseData+2 - 382 007e 807F andi r24,lo8(-16) - 383 0080 8560 ori r24,lo8(5) - 384 0082 8093 0000 sts SenseData+2,r24 - 385 0086 81E2 ldi r24,lo8(33) - 386 0088 8093 0000 sts SenseData+12,r24 - 387 008c 1092 0000 sts SenseData+13,__zero_reg__ - 388 0090 00C0 rjmp .L16 - 389 .L12: - 390 .LBB10: - 391 .LBB11: - 392 .LSM30: - 393 0092 D82F mov r29,r24 - 394 .LVL27: - 395 0094 C92F mov r28,r25 - 396 .LVL28: - 397 .LBE11: - 398 .LBE10: - 399 .LSM31: - 400 0096 6623 tst r22 - 401 0098 01F0 breq .L14 - 402 .LSM32: - 403 009a C601 movw r24,r12 - 404 009c B801 movw r22,r16 - 405 009e A701 movw r20,r14 - 406 00a0 9E01 movw r18,r28 - 407 00a2 0E94 0000 call DataflashManager_ReadBlocks - 408 .LVL29: - 409 00a6 00C0 rjmp .L15 - 410 .LVL30: - 411 .L14: - 412 .LSM33: - 413 00a8 C601 movw r24,r12 - 414 00aa B801 movw r22,r16 - 415 00ac A701 movw r20,r14 - 416 00ae 9E01 movw r18,r28 - 417 00b0 0E94 0000 call DataflashManager_WriteBlocks - 418 .LVL31: - 419 .L15: - 420 .LSM34: - 421 00b4 9E01 movw r18,r28 - 422 00b6 40E0 ldi r20,lo8(0) - 423 00b8 50E0 ldi r21,hi8(0) - 424 .LVL32: - 425 00ba 69E0 ldi r22,9 - 426 00bc 220F 1: lsl r18 - 427 00be 331F rol r19 - 428 00c0 441F rol r20 - 429 00c2 551F rol r21 - 430 00c4 6A95 dec r22 - 431 00c6 01F4 brne 1b - 432 .LVL33: - 433 00c8 F601 movw r30,r12 - 434 00ca 8289 ldd r24,Z+18 - 435 00cc 9389 ldd r25,Z+19 - 436 00ce A489 ldd r26,Z+20 - 437 00d0 B589 ldd r27,Z+21 - 438 00d2 821B sub r24,r18 - 439 00d4 930B sbc r25,r19 - 440 00d6 A40B sbc r26,r20 - 441 00d8 B50B sbc r27,r21 - 442 00da 828B std Z+18,r24 - 443 00dc 938B std Z+19,r25 - 444 00de A48B std Z+20,r26 - 445 00e0 B58B std Z+21,r27 - 446 .LVL34: - 447 .L16: - 448 /* epilogue start */ - 449 .LSM35: - 450 00e2 DF91 pop r29 - 451 .LVL35: - 452 00e4 CF91 pop r28 - 453 00e6 1F91 pop r17 - 454 00e8 0F91 pop r16 - 455 00ea FF90 pop r15 - 456 00ec EF90 pop r14 - 457 .LVL36: - 458 00ee DF90 pop r13 - 459 00f0 CF90 pop r12 - 460 .LVL37: - 461 00f2 0895 ret - 462 .LFE57: - 464 .section .text.SCSI_DecodeSCSICommand,"ax",@progbits - 465 .global SCSI_DecodeSCSICommand - 467 SCSI_DecodeSCSICommand: - 468 .LFB52: - 469 .LSM36: - 470 .LVL38: - 471 0000 0F93 push r16 - 472 0002 1F93 push r17 - 473 0004 DF93 push r29 - 474 0006 CF93 push r28 - 475 0008 CDB7 in r28,__SP_L__ - 476 000a DEB7 in r29,__SP_H__ - 477 000c 2897 sbiw r28,8 - 478 000e 0FB6 in __tmp_reg__,__SREG__ - 479 0010 F894 cli - 480 0012 DEBF out __SP_H__,r29 - 481 0014 0FBE out __SREG__,__tmp_reg__ - 482 0016 CDBF out __SP_L__,r28 - 483 /* prologue: function */ - 484 /* frame size = 8 */ - 485 0018 8C01 movw r16,r24 - 486 .LSM37: - 487 001a 9091 0000 lds r25,SenseData+2 - 488 001e 907F andi r25,lo8(-16) - 489 0020 9093 0000 sts SenseData+2,r25 - 490 0024 1092 0000 sts SenseData+12,__zero_reg__ - 491 0028 1092 0000 sts SenseData+13,__zero_reg__ - 492 .LSM38: - 493 002c F801 movw r30,r16 - 494 002e 818D ldd r24,Z+25 - 495 .LVL39: - 496 0030 8E31 cpi r24,lo8(30) - 497 0032 01F4 brne .+2 - 498 0034 00C0 rjmp .L19 - 499 0036 8F31 cpi r24,lo8(31) - 500 0038 00F4 brsh .L26 - 501 003a 8330 cpi r24,lo8(3) - 502 003c 01F0 breq .L20 - 503 003e 8430 cpi r24,lo8(4) - 504 0040 00F4 brsh .L27 - 505 0042 8823 tst r24 - 506 0044 01F4 brne .+2 - 507 0046 00C0 rjmp .L19 - 508 0048 00C0 rjmp .L18 - 509 .L27: - 510 004a 8231 cpi r24,lo8(18) - 511 004c 01F0 breq .L21 - 512 004e 8D31 cpi r24,lo8(29) - 513 0050 01F0 breq .+2 - 514 0052 00C0 rjmp .L18 - 515 0054 00C0 rjmp .L37 - 516 .L26: - 517 0056 8832 cpi r24,lo8(40) - 518 0058 01F4 brne .+2 - 519 005a 00C0 rjmp .L24 - 520 005c 8932 cpi r24,lo8(41) - 521 005e 00F4 brsh .L28 - 522 0060 8532 cpi r24,lo8(37) - 523 0062 01F0 breq .+2 - 524 0064 00C0 rjmp .L18 - 525 0066 00C0 rjmp .L38 - 526 .L28: - 527 0068 8A32 cpi r24,lo8(42) - 528 006a 01F4 brne .+2 - 529 006c 00C0 rjmp .L25 - 530 006e 8F32 cpi r24,lo8(47) - 531 0070 01F0 breq .+2 - 532 0072 00C0 rjmp .L18 - 533 0074 00C0 rjmp .L19 - 534 .L21: - 535 .LSM39: - 536 0076 C801 movw r24,r16 - 537 0078 0E94 0000 call SCSI_Command_Inquiry - 538 007c 00C0 rjmp .L29 - 539 .L20: - 540 .LSM40: - 541 007e C801 movw r24,r16 - 542 0080 0E94 0000 call SCSI_Command_Request_Sense - 543 0084 00C0 rjmp .L29 - 544 .L38: - 545 .LBB17: - 546 .LBB18: - 547 .LSM41: - 548 0086 8FEF ldi r24,lo8(32767) - 549 0088 9FE7 ldi r25,hi8(32767) - 550 008a A0E0 ldi r26,hlo8(32767) - 551 008c B0E0 ldi r27,hhi8(32767) - 552 008e 8983 std Y+1,r24 - 553 0090 9A83 std Y+2,r25 - 554 0092 AB83 std Y+3,r26 - 555 0094 BC83 std Y+4,r27 - 556 .LVL40: - 557 .LSM42: - 558 0096 80E0 ldi r24,lo8(512) - 559 0098 92E0 ldi r25,hi8(512) - 560 009a A0E0 ldi r26,hlo8(512) - 561 009c B0E0 ldi r27,hhi8(512) - 562 009e 8D83 std Y+5,r24 - 563 00a0 9E83 std Y+6,r25 - 564 00a2 AF83 std Y+7,r26 - 565 00a4 B887 std Y+8,r27 - 566 .LVL41: - 567 .LSM43: - 568 00a6 CE01 movw r24,r28 - 569 00a8 0196 adiw r24,1 - 570 00aa 64E0 ldi r22,lo8(4) - 571 00ac 70E0 ldi r23,hi8(4) - 572 00ae 40E0 ldi r20,lo8(0) - 573 00b0 50E0 ldi r21,hi8(0) - 574 00b2 0E94 0000 call Endpoint_Write_Stream_BE - 575 .LSM44: - 576 00b6 CE01 movw r24,r28 - 577 00b8 0596 adiw r24,5 - 578 00ba 64E0 ldi r22,lo8(4) - 579 00bc 70E0 ldi r23,hi8(4) - 580 00be 40E0 ldi r20,lo8(0) - 581 00c0 50E0 ldi r21,hi8(0) - 582 00c2 0E94 0000 call Endpoint_Write_Stream_BE - 583 .LBB19: - 584 .LSM45: - 585 00c6 8091 E800 lds r24,232 - 586 .LVL42: - 587 00ca 982F mov r25,r24 - 588 00cc 9E7F andi r25,lo8(-2) - 589 00ce 9093 E800 sts 232,r25 - 590 00d2 8F77 andi r24,lo8(127) - 591 00d4 8093 E800 sts 232,r24 - 592 .LBE19: - 593 .LSM46: - 594 00d8 F801 movw r30,r16 - 595 00da 8289 ldd r24,Z+18 - 596 00dc 9389 ldd r25,Z+19 - 597 00de A489 ldd r26,Z+20 - 598 00e0 B589 ldd r27,Z+21 - 599 .LVL43: - 600 00e2 0897 sbiw r24,8 - 601 00e4 A109 sbc r26,__zero_reg__ - 602 00e6 B109 sbc r27,__zero_reg__ - 603 00e8 828B std Z+18,r24 - 604 00ea 938B std Z+19,r25 - 605 00ec A48B std Z+20,r26 - 606 00ee B58B std Z+21,r27 - 607 00f0 00C0 rjmp .L29 - 608 .LVL44: - 609 .L37: - 610 .LBE18: - 611 .LBE17: - 612 .LBB20: - 613 .LBB21: - 614 .LSM47: - 615 00f2 F801 movw r30,r16 - 616 00f4 828D ldd r24,Z+26 - 617 00f6 82FD sbrc r24,2 - 618 00f8 00C0 rjmp .L30 - 619 .LSM48: - 620 00fa 9560 ori r25,lo8(5) - 621 00fc 9093 0000 sts SenseData+2,r25 - 622 0100 84E2 ldi r24,lo8(36) - 623 0102 00C0 rjmp .L36 - 624 .L30: - 625 .LBE21: - 626 .LSM49: - 627 0104 0E94 0000 call DataflashManager_CheckDataflashOperation - 628 .LBB22: - 629 0108 8823 tst r24 - 630 010a 01F4 brne .L19 - 631 .LSM50: - 632 010c 8091 0000 lds r24,SenseData+2 - 633 0110 807F andi r24,lo8(-16) - 634 0112 8460 ori r24,lo8(4) - 635 0114 8093 0000 sts SenseData+2,r24 - 636 0118 1092 0000 sts SenseData+12,__zero_reg__ - 637 011c 00C0 rjmp .L34 - 638 .L25: - 639 .LBE22: - 640 .LBE20: - 641 .LSM51: - 642 011e C801 movw r24,r16 - 643 0120 60E0 ldi r22,lo8(0) - 644 0122 00C0 rjmp .L35 - 645 .L24: - 646 .LSM52: - 647 0124 C801 movw r24,r16 - 648 0126 61E0 ldi r22,lo8(1) - 649 .L35: - 650 0128 0E94 0000 call SCSI_Command_ReadWrite_10 - 651 012c 00C0 rjmp .L29 - 652 .L19: - 653 .LSM53: - 654 012e F801 movw r30,r16 - 655 0130 128A std Z+18,__zero_reg__ - 656 0132 138A std Z+19,__zero_reg__ - 657 0134 148A std Z+20,__zero_reg__ - 658 0136 158A std Z+21,__zero_reg__ - 659 0138 00C0 rjmp .L29 - 660 .L18: - 661 .LSM54: - 662 013a 8091 0000 lds r24,SenseData+2 - 663 013e 807F andi r24,lo8(-16) - 664 0140 8560 ori r24,lo8(5) - 665 0142 8093 0000 sts SenseData+2,r24 - 666 0146 80E2 ldi r24,lo8(32) - 667 .L36: - 668 0148 8093 0000 sts SenseData+12,r24 - 669 .L34: - 670 014c 1092 0000 sts SenseData+13,__zero_reg__ - 671 .LVL45: - 672 .L29: - 673 0150 90E0 ldi r25,lo8(0) - 674 0152 8091 0000 lds r24,SenseData+2 - 675 0156 8F70 andi r24,lo8(15) - 676 0158 01F4 brne .L32 - 677 015a 91E0 ldi r25,lo8(1) - 678 .L32: - 679 .LSM55: - 680 015c 892F mov r24,r25 - 681 /* epilogue start */ - 682 015e 2896 adiw r28,8 - 683 0160 0FB6 in __tmp_reg__,__SREG__ - 684 0162 F894 cli - 685 0164 DEBF out __SP_H__,r29 - 686 0166 0FBE out __SREG__,__tmp_reg__ - 687 0168 CDBF out __SP_L__,r28 - 688 016a CF91 pop r28 - 689 016c DF91 pop r29 - 690 016e 1F91 pop r17 - 691 0170 0F91 pop r16 - 692 .LVL46: - 693 0172 0895 ret - 694 .LFE52: - 696 .global InquiryData - 697 .data - 700 InquiryData: - 701 0000 00 .byte 0 - 702 0001 80 .byte 128 - 703 0002 00 .byte 0 - 704 0003 02 .byte 2 - 705 0004 1F .byte 31 - 706 0005 0000 .skip 2,0 - 707 0007 00 .byte 0 - 708 0008 4C55 4641 .string "LUFA" - 708 00 - 709 000d 0000 00 .skip 3,0 - 710 0010 4461 7461 .string "Dataflash Disk" - 710 666C 6173 - 710 6820 4469 - 710 736B 00 - 711 001f 00 .skip 1,0 - 712 0020 30 .byte 48 - 713 0021 2E .byte 46 - 714 0022 30 .byte 48 - 715 0023 30 .byte 48 - 716 .global SenseData - 719 SenseData: - 720 0024 70 .byte 112 - 721 0025 0000 0000 .skip 6,0 - 721 0000 - 722 002b 0A .byte 10 - 723 002c 0000 0000 .skip 10,0 - 723 0000 0000 - 723 0000 - 772 .Letext0: -DEFINED SYMBOLS - *ABS*:00000000 SCSI.c -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:2 *ABS*:0000003f __SREG__ -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:3 *ABS*:0000003e __SP_H__ -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:4 *ABS*:0000003d __SP_L__ -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:5 *ABS*:00000034 __CCP__ -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:6 *ABS*:00000000 __tmp_reg__ -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:7 *ABS*:00000001 __zero_reg__ -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:18 .text.SCSI_Command_Inquiry:00000000 SCSI_Command_Inquiry -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:719 .data:00000024 SenseData -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:700 .data:00000000 InquiryData -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:184 .text.SCSI_Command_Request_Sense:00000000 SCSI_Command_Request_Sense -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:303 .text.SCSI_Command_ReadWrite_10:00000000 SCSI_Command_ReadWrite_10 -C:\Users\Dean\AppData\Local\Temp/ccIJeq6j.s:467 .text.SCSI_DecodeSCSICommand:00000000 SCSI_DecodeSCSICommand - -UNDEFINED SYMBOLS -Endpoint_Write_Stream_LE -DataflashManager_ReadBlocks -DataflashManager_WriteBlocks -Endpoint_Write_Stream_BE -DataflashManager_CheckDataflashOperation -__do_copy_data diff --git a/Projects/TemperatureDataLogger/TempDataLogger.c b/Projects/TemperatureDataLogger/TempDataLogger.c index 5872a0830f..168f9e96f9 100644 --- a/Projects/TemperatureDataLogger/TempDataLogger.c +++ b/Projects/TemperatureDataLogger/TempDataLogger.c @@ -128,10 +128,10 @@ void SetupHardware(void) /* Hardware Initialization */ LEDs_Init(); SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER); - Dataflash_Init(); - USB_Init(); ADC_Init(ADC_REFERENCE_AVCC | ADC_FREE_RUNNING | ADC_PRESCALE_128); Temperature_Init(); + Dataflash_Init(); + USB_Init(); /* 10ms interval timer configuration */ OCR1A = (((F_CPU / 1024) / 100) - 1);