| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754 |
- GAS LISTING /tmp/cc4OuBMn.s page 1
- 1 .file "phat32.c"
- 2 __SP_H__ = 0x3e
- 3 __SP_L__ = 0x3d
- 4 __SREG__ = 0x3f
- 5 __RAMPZ__ = 0x3b
- 6 __tmp_reg__ = 0
- 7 __zero_reg__ = 1
- 8 .section .text.Phat32FreeClusters,"ax",@progbits
- 9 .global Phat32FreeClusters
- 10 .type Phat32FreeClusters, @function
- 11 Phat32FreeClusters:
- 12 0000 2F92 push r2
- 13 0002 3F92 push r3
- 14 0004 4F92 push r4
- 15 0006 5F92 push r5
- 16 0008 6F92 push r6
- 17 000a 7F92 push r7
- 18 000c 8F92 push r8
- 19 000e 9F92 push r9
- 20 0010 AF92 push r10
- 21 0012 BF92 push r11
- 22 0014 CF92 push r12
- 23 0016 DF92 push r13
- 24 0018 EF92 push r14
- 25 001a FF92 push r15
- 26 001c 0F93 push r16
- 27 001e 1F93 push r17
- 28 0020 CF93 push r28
- 29 0022 DF93 push r29
- 30 0024 00D0 rcall .
- 31 0026 00D0 rcall .
- 32 0028 CDB7 in r28,__SP_L__
- 33 002a DEB7 in r29,__SP_H__
- 34 /* prologue: function */
- 35 /* frame size = 6 */
- 36 /* stack size = 24 */
- 37 .L__stack_usage = 24
- 38 002c 9E83 std Y+6,r25
- 39 002e 8D83 std Y+5,r24
- 40 0030 DC01 movw r26,r24
- 41 0032 5196 adiw r26,17
- 42 0034 2D90 ld r2,X+
- 43 0036 3C90 ld r3,X
- 44 0038 5297 sbiw r26,17+1
- 45 003a D101 movw r26,r2
- 46 003c D296 adiw r26,50
- 47 003e 0D91 ld r16,X+
- 48 0040 1D91 ld r17,X+
- 49 0042 2D91 ld r18,X+
- 50 0044 3C91 ld r19,X
- 51 0046 D597 sbiw r26,50+3
- 52 0048 0983 std Y+1,r16
- 53 004a 1A83 std Y+2,r17
- 54 004c 2B83 std Y+3,r18
- 55 004e 3C83 std Y+4,r19
- 56 0050 083F cpi r16,-8
- 57 0052 1F4F sbci r17,-1
- GAS LISTING /tmp/cc4OuBMn.s page 2
- 58 0054 2F4F sbci r18,-1
- 59 0056 3F40 sbci r19,15
- 60 0058 00F0 brlo .L2
- 61 005a 07EF ldi r16,lo8(-9)
- 62 005c 1FEF ldi r17,lo8(-1)
- 63 005e 2FEF ldi r18,lo8(-1)
- 64 0060 3FE0 ldi r19,lo8(15)
- 65 0062 0983 std Y+1,r16
- 66 0064 1A83 std Y+2,r17
- 67 0066 2B83 std Y+3,r18
- 68 0068 3C83 std Y+4,r19
- 69 .L2:
- 70 006a D101 movw r26,r2
- 71 006c 9096 adiw r26,32
- 72 006e 8D90 ld r8,X+
- 73 0070 9D90 ld r9,X+
- 74 0072 AD90 ld r10,X+
- 75 0074 BC90 ld r11,X
- 76 0076 9397 sbiw r26,32+3
- 77 0078 B501 movw r22,r10
- 78 007a A401 movw r20,r8
- 79 007c 8D81 ldd r24,Y+5
- 80 007e 9E81 ldd r25,Y+6
- 81 0080 0E94 0000 call PhatSectorLoad
- 82 0084 97FD sbrc r25,7
- 83 0086 00C0 rjmp .L9
- 84 0088 9C01 movw r18,r24
- 85 008a 2F5F subi r18,-1
- 86 008c 3F4F sbci r19,-1
- 87 008e 4AE0 ldi r20,lo8(10)
- 88 0090 429F mul r20,r18
- 89 0092 F001 movw r30,r0
- 90 0094 439F mul r20,r19
- 91 0096 F00D add r31,r0
- 92 0098 1124 clr __zero_reg__
- 93 009a E20D add r30,r2
- 94 009c F31D adc r31,r3
- 95 009e A081 ld r26,Z
- 96 00a0 B181 ldd r27,Z+1
- 97 00a2 4CEF ldi r20,lo8(-4)
- 98 00a4 5FEF ldi r21,lo8(-1)
- 99 00a6 6FEF ldi r22,lo8(-1)
- 100 00a8 7FEF ldi r23,lo8(-1)
- 101 00aa 412C mov r4,__zero_reg__
- 102 00ac 512C mov r5,__zero_reg__
- 103 00ae 3201 movw r6,r4
- 104 00b0 C12C mov r12,__zero_reg__
- 105 00b2 D12C mov r13,__zero_reg__
- 106 00b4 7601 movw r14,r12
- 107 .L4:
- 108 00b6 0981 ldd r16,Y+1
- 109 00b8 1A81 ldd r17,Y+2
- 110 00ba 2B81 ldd r18,Y+3
- 111 00bc 3C81 ldd r19,Y+4
- 112 00be 4016 cp r4,r16
- 113 00c0 5106 cpc r5,r17
- 114 00c2 6206 cpc r6,r18
- GAS LISTING /tmp/cc4OuBMn.s page 3
- 115 00c4 7306 cpc r7,r19
- 116 00c6 01F4 brne .+2
- 117 00c8 00C0 rjmp .L6
- 118 00ca 4C5F subi r20,-4
- 119 00cc 5F4F sbci r21,-1
- 120 00ce 6F4F sbci r22,-1
- 121 00d0 7F4F sbci r23,-1
- 122 00d2 F101 movw r30,r2
- 123 00d4 208D ldd r18,Z+24
- 124 00d6 318D ldd r19,Z+25
- 125 00d8 8901 movw r16,r18
- 126 00da 20E0 ldi r18,0
- 127 00dc 30E0 ldi r19,0
- 128 00de 4017 cp r20,r16
- 129 00e0 5107 cpc r21,r17
- 130 00e2 6207 cpc r22,r18
- 131 00e4 7307 cpc r23,r19
- 132 00e6 00F0 brlo .L5
- 133 00e8 BC01 movw r22,r24
- 134 00ea 8D81 ldd r24,Y+5
- 135 00ec 9E81 ldd r25,Y+6
- 136 00ee 0E94 0000 call PhatSectorBufferRelease
- 137 00f2 FFEF ldi r31,-1
- 138 00f4 8F1A sub r8,r31
- 139 00f6 9F0A sbc r9,r31
- 140 00f8 AF0A sbc r10,r31
- 141 00fa BF0A sbc r11,r31
- 142 00fc B501 movw r22,r10
- 143 00fe A401 movw r20,r8
- 144 0100 8D81 ldd r24,Y+5
- 145 0102 9E81 ldd r25,Y+6
- 146 0104 0E94 0000 call PhatSectorLoad
- 147 0108 97FD sbrc r25,7
- 148 010a 00C0 rjmp .L6
- 149 010c AC01 movw r20,r24
- 150 010e 4F5F subi r20,-1
- 151 0110 5F4F sbci r21,-1
- 152 0112 0AE0 ldi r16,lo8(10)
- 153 0114 049F mul r16,r20
- 154 0116 9001 movw r18,r0
- 155 0118 059F mul r16,r21
- 156 011a 300D add r19,r0
- 157 011c 1124 clr __zero_reg__
- 158 011e F101 movw r30,r2
- 159 0120 E20F add r30,r18
- 160 0122 F31F adc r31,r19
- 161 0124 A081 ld r26,Z
- 162 0126 B181 ldd r27,Z+1
- 163 0128 40E0 ldi r20,0
- 164 012a 50E0 ldi r21,0
- 165 012c BA01 movw r22,r20
- 166 .L5:
- 167 012e FD01 movw r30,r26
- 168 0130 E40F add r30,r20
- 169 0132 F51F adc r31,r21
- 170 0134 3181 ldd r19,Z+1
- 171 0136 2281 ldd r18,Z+2
- GAS LISTING /tmp/cc4OuBMn.s page 4
- 172 0138 322B or r19,r18
- 173 013a 2081 ld r18,Z
- 174 013c 232B or r18,r19
- 175 013e 3381 ldd r19,Z+3
- 176 0140 232B or r18,r19
- 177 0142 01F4 brne .L7
- 178 0144 1FEF ldi r17,-1
- 179 0146 C11A sub r12,r17
- 180 0148 D10A sbc r13,r17
- 181 014a E10A sbc r14,r17
- 182 014c F10A sbc r15,r17
- 183 .L7:
- 184 014e 2FEF ldi r18,-1
- 185 0150 421A sub r4,r18
- 186 0152 520A sbc r5,r18
- 187 0154 620A sbc r6,r18
- 188 0156 720A sbc r7,r18
- 189 0158 00C0 rjmp .L4
- 190 .L6:
- 191 015a BC01 movw r22,r24
- 192 015c 8D81 ldd r24,Y+5
- 193 015e 9E81 ldd r25,Y+6
- 194 0160 0E94 0000 call PhatSectorBufferRelease
- 195 0164 00C0 rjmp .L3
- 196 .L9:
- 197 0166 C12C mov r12,__zero_reg__
- 198 0168 D12C mov r13,__zero_reg__
- 199 016a 7601 movw r14,r12
- 200 .L3:
- 201 016c C701 movw r24,r14
- 202 016e B601 movw r22,r12
- 203 /* epilogue start */
- 204 0170 2696 adiw r28,6
- 205 0172 0FB6 in __tmp_reg__,__SREG__
- 206 0174 F894 cli
- 207 0176 DEBF out __SP_H__,r29
- 208 0178 0FBE out __SREG__,__tmp_reg__
- 209 017a CDBF out __SP_L__,r28
- 210 017c DF91 pop r29
- 211 017e CF91 pop r28
- 212 0180 1F91 pop r17
- 213 0182 0F91 pop r16
- 214 0184 FF90 pop r15
- 215 0186 EF90 pop r14
- 216 0188 DF90 pop r13
- 217 018a CF90 pop r12
- 218 018c BF90 pop r11
- 219 018e AF90 pop r10
- 220 0190 9F90 pop r9
- 221 0192 8F90 pop r8
- 222 0194 7F90 pop r7
- 223 0196 6F90 pop r6
- 224 0198 5F90 pop r5
- 225 019a 4F90 pop r4
- 226 019c 3F90 pop r3
- 227 019e 2F90 pop r2
- 228 01a0 0895 ret
- GAS LISTING /tmp/cc4OuBMn.s page 5
- 229 .size Phat32FreeClusters, .-Phat32FreeClusters
- 230 .section .text.Phat32GetClusterLink,"ax",@progbits
- 231 .global Phat32GetClusterLink
- 232 .type Phat32GetClusterLink, @function
- 233 Phat32GetClusterLink:
- 234 0000 8F92 push r8
- 235 0002 9F92 push r9
- 236 0004 AF92 push r10
- 237 0006 BF92 push r11
- 238 0008 CF92 push r12
- 239 000a DF92 push r13
- 240 000c EF92 push r14
- 241 000e FF92 push r15
- 242 0010 0F93 push r16
- 243 0012 1F93 push r17
- 244 0014 CF93 push r28
- 245 0016 DF93 push r29
- 246 /* prologue: function */
- 247 /* frame size = 0 */
- 248 /* stack size = 12 */
- 249 .L__stack_usage = 12
- 250 0018 8C01 movw r16,r24
- 251 001a E901 movw r28,r18
- 252 001c FC01 movw r30,r24
- 253 001e E188 ldd r14,Z+17
- 254 0020 F288 ldd r15,Z+18
- 255 0022 483F cpi r20,-8
- 256 0024 FFEF ldi r31,-1
- 257 0026 5F07 cpc r21,r31
- 258 0028 6F07 cpc r22,r31
- 259 002a FFE0 ldi r31,15
- 260 002c 7F07 cpc r23,r31
- 261 002e 00F0 brlo .L12
- 262 .L14:
- 263 0030 8FEF ldi r24,lo8(-1)
- 264 0032 9FEF ldi r25,lo8(-1)
- 265 0034 00C0 rjmp .L13
- 266 .L12:
- 267 0036 CB01 movw r24,r22
- 268 0038 BA01 movw r22,r20
- 269 003a F2E0 ldi r31,2
- 270 1:
- 271 003c 660F lsl r22
- 272 003e 771F rol r23
- 273 0040 881F rol r24
- 274 0042 991F rol r25
- 275 0044 FA95 dec r31
- 276 0046 01F4 brne 1b
- 277 0048 F701 movw r30,r14
- 278 004a 208D ldd r18,Z+24
- 279 004c 318D ldd r19,Z+25
- 280 004e 40E0 ldi r20,0
- 281 0050 50E0 ldi r21,0
- 282 0052 0E94 0000 call __udivmodsi4
- 283 0056 4B01 movw r8,r22
- 284 0058 5C01 movw r10,r24
- 285 005a F701 movw r30,r14
- GAS LISTING /tmp/cc4OuBMn.s page 6
- 286 005c 80A1 ldd r24,Z+32
- 287 005e 91A1 ldd r25,Z+33
- 288 0060 A2A1 ldd r26,Z+34
- 289 0062 B3A1 ldd r27,Z+35
- 290 0064 BA01 movw r22,r20
- 291 0066 A901 movw r20,r18
- 292 0068 480F add r20,r24
- 293 006a 591F adc r21,r25
- 294 006c 6A1F adc r22,r26
- 295 006e 7B1F adc r23,r27
- 296 0070 C801 movw r24,r16
- 297 0072 0E94 0000 call PhatSectorLoad
- 298 0076 97FD sbrc r25,7
- 299 0078 00C0 rjmp .L14
- 300 007a AC01 movw r20,r24
- 301 007c 4F5F subi r20,-1
- 302 007e 5F4F sbci r21,-1
- 303 0080 6AE0 ldi r22,lo8(10)
- 304 0082 649F mul r22,r20
- 305 0084 9001 movw r18,r0
- 306 0086 659F mul r22,r21
- 307 0088 300D add r19,r0
- 308 008a 1124 clr __zero_reg__
- 309 008c F701 movw r30,r14
- 310 008e E20F add r30,r18
- 311 0090 F31F adc r31,r19
- 312 0092 0190 ld __tmp_reg__,Z+
- 313 0094 F081 ld r31,Z
- 314 0096 E02D mov r30,__tmp_reg__
- 315 0098 E80D add r30,r8
- 316 009a F91D adc r31,r9
- 317 009c C080 ld r12,Z
- 318 009e 8C2C mov r8,r12
- 319 00a0 912C mov r9,__zero_reg__
- 320 00a2 A12C mov r10,__zero_reg__
- 321 00a4 B12C mov r11,__zero_reg__
- 322 00a6 8882 st Y,r8
- 323 00a8 9982 std Y+1,r9
- 324 00aa AA82 std Y+2,r10
- 325 00ac BB82 std Y+3,r11
- 326 00ae 4181 ldd r20,Z+1
- 327 00b0 50E0 ldi r21,0
- 328 00b2 60E0 ldi r22,0
- 329 00b4 70E0 ldi r23,0
- 330 00b6 762F mov r23,r22
- 331 00b8 652F mov r22,r21
- 332 00ba 542F mov r21,r20
- 333 00bc 4427 clr r20
- 334 00be 6A01 movw r12,r20
- 335 00c0 7B01 movw r14,r22
- 336 00c2 C80C add r12,r8
- 337 00c4 D91C adc r13,r9
- 338 00c6 EA1C adc r14,r10
- 339 00c8 FB1C adc r15,r11
- 340 00ca C882 st Y,r12
- 341 00cc D982 std Y+1,r13
- 342 00ce EA82 std Y+2,r14
- GAS LISTING /tmp/cc4OuBMn.s page 7
- 343 00d0 FB82 std Y+3,r15
- 344 00d2 4281 ldd r20,Z+2
- 345 00d4 50E0 ldi r21,0
- 346 00d6 60E0 ldi r22,0
- 347 00d8 70E0 ldi r23,0
- 348 00da BA01 movw r22,r20
- 349 00dc 5527 clr r21
- 350 00de 4427 clr r20
- 351 00e0 4C0D add r20,r12
- 352 00e2 5D1D adc r21,r13
- 353 00e4 6E1D adc r22,r14
- 354 00e6 7F1D adc r23,r15
- 355 00e8 4883 st Y,r20
- 356 00ea 5983 std Y+1,r21
- 357 00ec 6A83 std Y+2,r22
- 358 00ee 7B83 std Y+3,r23
- 359 00f0 C380 ldd r12,Z+3
- 360 00f2 D12C mov r13,__zero_reg__
- 361 00f4 E12C mov r14,__zero_reg__
- 362 00f6 F12C mov r15,__zero_reg__
- 363 00f8 FC2C mov r15,r12
- 364 00fa EE24 clr r14
- 365 00fc DD24 clr r13
- 366 00fe CC24 clr r12
- 367 0100 4C0D add r20,r12
- 368 0102 5D1D adc r21,r13
- 369 0104 6E1D adc r22,r14
- 370 0106 7F1D adc r23,r15
- 371 0108 4883 st Y,r20
- 372 010a 5983 std Y+1,r21
- 373 010c 6A83 std Y+2,r22
- 374 010e 7B83 std Y+3,r23
- 375 0110 BC01 movw r22,r24
- 376 0112 C801 movw r24,r16
- 377 0114 0E94 0000 call PhatSectorBufferRelease
- 378 0118 80E0 ldi r24,0
- 379 011a 90E0 ldi r25,0
- 380 .L13:
- 381 /* epilogue start */
- 382 011c DF91 pop r29
- 383 011e CF91 pop r28
- 384 0120 1F91 pop r17
- 385 0122 0F91 pop r16
- 386 0124 FF90 pop r15
- 387 0126 EF90 pop r14
- 388 0128 DF90 pop r13
- 389 012a CF90 pop r12
- 390 012c BF90 pop r11
- 391 012e AF90 pop r10
- 392 0130 9F90 pop r9
- 393 0132 8F90 pop r8
- 394 0134 0895 ret
- 395 .size Phat32GetClusterLink, .-Phat32GetClusterLink
- 396 .section .text.Phat32SetClusterLink,"ax",@progbits
- 397 .global Phat32SetClusterLink
- 398 .type Phat32SetClusterLink, @function
- 399 Phat32SetClusterLink:
- GAS LISTING /tmp/cc4OuBMn.s page 8
- 400 0000 2F92 push r2
- 401 0002 3F92 push r3
- 402 0004 4F92 push r4
- 403 0006 5F92 push r5
- 404 0008 6F92 push r6
- 405 000a 7F92 push r7
- 406 000c 8F92 push r8
- 407 000e 9F92 push r9
- 408 0010 AF92 push r10
- 409 0012 BF92 push r11
- 410 0014 CF92 push r12
- 411 0016 DF92 push r13
- 412 0018 EF92 push r14
- 413 001a FF92 push r15
- 414 001c 0F93 push r16
- 415 001e 1F93 push r17
- 416 0020 CF93 push r28
- 417 0022 DF93 push r29
- 418 0024 CDB7 in r28,__SP_L__
- 419 0026 DEB7 in r29,__SP_H__
- 420 0028 2897 sbiw r28,8
- 421 002a 0FB6 in __tmp_reg__,__SREG__
- 422 002c F894 cli
- 423 002e DEBF out __SP_H__,r29
- 424 0030 0FBE out __SREG__,__tmp_reg__
- 425 0032 CDBF out __SP_L__,r28
- 426 /* prologue: function */
- 427 /* frame size = 8 */
- 428 /* stack size = 26 */
- 429 .L__stack_usage = 26
- 430 0034 1C01 movw r2,r24
- 431 0036 6801 movw r12,r16
- 432 0038 7901 movw r14,r18
- 433 003a DC01 movw r26,r24
- 434 003c 5196 adiw r26,17
- 435 003e 0D90 ld __tmp_reg__,X+
- 436 0040 BC91 ld r27,X
- 437 0042 A02D mov r26,__tmp_reg__
- 438 0044 B887 std Y+8,r27
- 439 0046 AF83 std Y+7,r26
- 440 0048 DB01 movw r26,r22
- 441 004a CA01 movw r24,r20
- 442 004c 22E0 ldi r18,2
- 443 1:
- 444 004e 880F lsl r24
- 445 0050 991F rol r25
- 446 0052 AA1F rol r26
- 447 0054 BB1F rol r27
- 448 0056 2A95 dec r18
- 449 0058 01F4 brne 1b
- 450 005a 8983 std Y+1,r24
- 451 005c 9A83 std Y+2,r25
- 452 005e AB83 std Y+3,r26
- 453 0060 BC83 std Y+4,r27
- 454 0062 0F81 ldd r16,Y+7
- 455 0064 1885 ldd r17,Y+8
- 456 0066 005E subi r16,-32
- GAS LISTING /tmp/cc4OuBMn.s page 9
- 457 0068 1F4F sbci r17,-1
- 458 006a AF81 ldd r26,Y+7
- 459 006c B885 ldd r27,Y+8
- 460 006e 9896 adiw r26,40
- 461 0070 BE83 std Y+6,r27
- 462 0072 AD83 std Y+5,r26
- 463 .L16:
- 464 0074 D801 movw r26,r16
- 465 0076 8D90 ld r8,X+
- 466 0078 9D90 ld r9,X+
- 467 007a AD90 ld r10,X+
- 468 007c BD90 ld r11,X+
- 469 007e 8D01 movw r16,r26
- 470 0080 8114 cp r8,__zero_reg__
- 471 0082 9104 cpc r9,__zero_reg__
- 472 0084 A104 cpc r10,__zero_reg__
- 473 0086 B104 cpc r11,__zero_reg__
- 474 0088 01F4 brne .+2
- 475 008a 00C0 rjmp .L19
- 476 008c BFE0 ldi r27,15
- 477 008e FB22 and r15,r27
- 478 0090 EF81 ldd r30,Y+7
- 479 0092 F885 ldd r31,Y+8
- 480 0094 208D ldd r18,Z+24
- 481 0096 318D ldd r19,Z+25
- 482 0098 40E0 ldi r20,0
- 483 009a 50E0 ldi r21,0
- 484 009c 6981 ldd r22,Y+1
- 485 009e 7A81 ldd r23,Y+2
- 486 00a0 8B81 ldd r24,Y+3
- 487 00a2 9C81 ldd r25,Y+4
- 488 00a4 0E94 0000 call __udivmodsi4
- 489 00a8 2B01 movw r4,r22
- 490 00aa 3C01 movw r6,r24
- 491 00ac BA01 movw r22,r20
- 492 00ae A901 movw r20,r18
- 493 00b0 480D add r20,r8
- 494 00b2 591D adc r21,r9
- 495 00b4 6A1D adc r22,r10
- 496 00b6 7B1D adc r23,r11
- 497 00b8 C101 movw r24,r2
- 498 00ba 0E94 0000 call PhatSectorLoad
- 499 00be 97FD sbrc r25,7
- 500 00c0 00C0 rjmp .L20
- 501 00c2 2AE0 ldi r18,lo8(10)
- 502 00c4 289F mul r18,r24
- 503 00c6 F001 movw r30,r0
- 504 00c8 299F mul r18,r25
- 505 00ca F00D add r31,r0
- 506 00cc 1124 clr __zero_reg__
- 507 00ce AF81 ldd r26,Y+7
- 508 00d0 B885 ldd r27,Y+8
- 509 00d2 EA0F add r30,r26
- 510 00d4 FB1F adc r31,r27
- 511 00d6 A285 ldd r26,Z+10
- 512 00d8 B385 ldd r27,Z+11
- 513 00da A40D add r26,r4
- GAS LISTING /tmp/cc4OuBMn.s page 10
- 514 00dc B51D adc r27,r5
- 515 00de CC92 st X,r12
- 516 00e0 A285 ldd r26,Z+10
- 517 00e2 B385 ldd r27,Z+11
- 518 00e4 A40D add r26,r4
- 519 00e6 B51D adc r27,r5
- 520 00e8 1196 adiw r26,1
- 521 00ea DC92 st X,r13
- 522 00ec A285 ldd r26,Z+10
- 523 00ee B385 ldd r27,Z+11
- 524 00f0 A40D add r26,r4
- 525 00f2 B51D adc r27,r5
- 526 00f4 1296 adiw r26,2
- 527 00f6 EC92 st X,r14
- 528 00f8 2285 ldd r18,Z+10
- 529 00fa 3385 ldd r19,Z+11
- 530 00fc D901 movw r26,r18
- 531 00fe A40D add r26,r4
- 532 0100 B51D adc r27,r5
- 533 0102 1396 adiw r26,3
- 534 0104 FC92 st X,r15
- 535 0106 21E0 ldi r18,lo8(1)
- 536 0108 30E0 ldi r19,0
- 537 010a 318B std Z+17,r19
- 538 010c 208B std Z+16,r18
- 539 010e BC01 movw r22,r24
- 540 0110 C101 movw r24,r2
- 541 0112 0E94 0000 call PhatSectorBufferRelease
- 542 0116 8D81 ldd r24,Y+5
- 543 0118 9E81 ldd r25,Y+6
- 544 011a 0817 cp r16,r24
- 545 011c 1907 cpc r17,r25
- 546 011e 01F0 breq .+2
- 547 0120 00C0 rjmp .L16
- 548 .L19:
- 549 0122 80E0 ldi r24,0
- 550 0124 90E0 ldi r25,0
- 551 0126 00C0 rjmp .L17
- 552 .L20:
- 553 0128 8FEF ldi r24,lo8(-1)
- 554 012a 9FEF ldi r25,lo8(-1)
- 555 .L17:
- 556 /* epilogue start */
- 557 012c 2896 adiw r28,8
- 558 012e 0FB6 in __tmp_reg__,__SREG__
- 559 0130 F894 cli
- 560 0132 DEBF out __SP_H__,r29
- 561 0134 0FBE out __SREG__,__tmp_reg__
- 562 0136 CDBF out __SP_L__,r28
- 563 0138 DF91 pop r29
- 564 013a CF91 pop r28
- 565 013c 1F91 pop r17
- 566 013e 0F91 pop r16
- 567 0140 FF90 pop r15
- 568 0142 EF90 pop r14
- 569 0144 DF90 pop r13
- 570 0146 CF90 pop r12
- GAS LISTING /tmp/cc4OuBMn.s page 11
- 571 0148 BF90 pop r11
- 572 014a AF90 pop r10
- 573 014c 9F90 pop r9
- 574 014e 8F90 pop r8
- 575 0150 7F90 pop r7
- 576 0152 6F90 pop r6
- 577 0154 5F90 pop r5
- 578 0156 4F90 pop r4
- 579 0158 3F90 pop r3
- 580 015a 2F90 pop r2
- 581 015c 0895 ret
- 582 .size Phat32SetClusterLink, .-Phat32SetClusterLink
- 583 .section .text.Phat32ReleaseChain,"ax",@progbits
- 584 .global Phat32ReleaseChain
- 585 .type Phat32ReleaseChain, @function
- 586 Phat32ReleaseChain:
- 587 0000 8F92 push r8
- 588 0002 9F92 push r9
- 589 0004 AF92 push r10
- 590 0006 BF92 push r11
- 591 0008 CF92 push r12
- 592 000a DF92 push r13
- 593 000c EF92 push r14
- 594 000e FF92 push r15
- 595 0010 0F93 push r16
- 596 0012 1F93 push r17
- 597 0014 CF93 push r28
- 598 0016 DF93 push r29
- 599 0018 00D0 rcall .
- 600 001a 1F92 push __zero_reg__
- 601 001c CDB7 in r28,__SP_L__
- 602 001e DEB7 in r29,__SP_H__
- 603 /* prologue: function */
- 604 /* frame size = 4 */
- 605 /* stack size = 16 */
- 606 .L__stack_usage = 16
- 607 0020 5C01 movw r10,r24
- 608 0022 6A01 movw r12,r20
- 609 0024 7B01 movw r14,r22
- 610 0026 FC01 movw r30,r24
- 611 0028 8188 ldd r8,Z+17
- 612 002a 9288 ldd r9,Z+18
- 613 .L23:
- 614 002c F8EF ldi r31,-8
- 615 002e CF16 cp r12,r31
- 616 0030 FFEF ldi r31,-1
- 617 0032 DF06 cpc r13,r31
- 618 0034 EF06 cpc r14,r31
- 619 0036 FFE0 ldi r31,15
- 620 0038 FF06 cpc r15,r31
- 621 003a 00F4 brsh .L29
- 622 003c 9E01 movw r18,r28
- 623 003e 2F5F subi r18,-1
- 624 0040 3F4F sbci r19,-1
- 625 0042 B701 movw r22,r14
- 626 0044 A601 movw r20,r12
- 627 0046 C501 movw r24,r10
- GAS LISTING /tmp/cc4OuBMn.s page 12
- 628 0048 0E94 0000 call Phat32GetClusterLink
- 629 004c 892B or r24,r25
- 630 004e 01F0 breq .L24
- 631 .L27:
- 632 0050 8FEF ldi r24,lo8(-1)
- 633 0052 9FEF ldi r25,lo8(-1)
- 634 0054 00C0 rjmp .L25
- 635 .L24:
- 636 0056 8981 ldd r24,Y+1
- 637 0058 9A81 ldd r25,Y+2
- 638 005a AB81 ldd r26,Y+3
- 639 005c BC81 ldd r27,Y+4
- 640 005e 0297 sbiw r24,2
- 641 0060 A105 cpc r26,__zero_reg__
- 642 0062 B105 cpc r27,__zero_reg__
- 643 0064 00F4 brsh .L26
- 644 .L29:
- 645 0066 80E0 ldi r24,0
- 646 0068 90E0 ldi r25,0
- 647 006a 00C0 rjmp .L25
- 648 .L26:
- 649 006c 00E0 ldi r16,0
- 650 006e 10E0 ldi r17,0
- 651 0070 9801 movw r18,r16
- 652 0072 B701 movw r22,r14
- 653 0074 A601 movw r20,r12
- 654 0076 C501 movw r24,r10
- 655 0078 0E94 0000 call Phat32SetClusterLink
- 656 007c 892B or r24,r25
- 657 007e 01F4 brne .L27
- 658 0080 F401 movw r30,r8
- 659 0082 8281 ldd r24,Z+2
- 660 0084 9381 ldd r25,Z+3
- 661 0086 A481 ldd r26,Z+4
- 662 0088 B581 ldd r27,Z+5
- 663 008a 0196 adiw r24,1
- 664 008c A11D adc r26,__zero_reg__
- 665 008e B11D adc r27,__zero_reg__
- 666 0090 8283 std Z+2,r24
- 667 0092 9383 std Z+3,r25
- 668 0094 A483 std Z+4,r26
- 669 0096 B583 std Z+5,r27
- 670 0098 C980 ldd r12,Y+1
- 671 009a DA80 ldd r13,Y+2
- 672 009c EB80 ldd r14,Y+3
- 673 009e FC80 ldd r15,Y+4
- 674 00a0 00C0 rjmp .L23
- 675 .L25:
- 676 /* epilogue start */
- 677 00a2 0F90 pop __tmp_reg__
- 678 00a4 0F90 pop __tmp_reg__
- 679 00a6 0F90 pop __tmp_reg__
- 680 00a8 0F90 pop __tmp_reg__
- 681 00aa DF91 pop r29
- 682 00ac CF91 pop r28
- 683 00ae 1F91 pop r17
- 684 00b0 0F91 pop r16
- GAS LISTING /tmp/cc4OuBMn.s page 13
- 685 00b2 FF90 pop r15
- 686 00b4 EF90 pop r14
- 687 00b6 DF90 pop r13
- 688 00b8 CF90 pop r12
- 689 00ba BF90 pop r11
- 690 00bc AF90 pop r10
- 691 00be 9F90 pop r9
- 692 00c0 8F90 pop r8
- 693 00c2 0895 ret
- 694 .size Phat32ReleaseChain, .-Phat32ReleaseChain
- 695 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/cc4OuBMn.s page 14
- DEFINED SYMBOLS
- *ABS*:0000000000000000 phat32.c
- /tmp/cc4OuBMn.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cc4OuBMn.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cc4OuBMn.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cc4OuBMn.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cc4OuBMn.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cc4OuBMn.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cc4OuBMn.s:11 .text.Phat32FreeClusters:0000000000000000 Phat32FreeClusters
- /tmp/cc4OuBMn.s:233 .text.Phat32GetClusterLink:0000000000000000 Phat32GetClusterLink
- /tmp/cc4OuBMn.s:399 .text.Phat32SetClusterLink:0000000000000000 Phat32SetClusterLink
- /tmp/cc4OuBMn.s:586 .text.Phat32ReleaseChain:0000000000000000 Phat32ReleaseChain
- UNDEFINED SYMBOLS
- PhatSectorLoad
- PhatSectorBufferRelease
- __udivmodsi4
|