| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460 |
- GAS LISTING /tmp/ccaJcdNi.s page 1
- 1 .file "phat16.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.Phat16GetClusterLink,"ax",@progbits
- 9 .global Phat16GetClusterLink
- 10 .type Phat16GetClusterLink, @function
- 11 Phat16GetClusterLink:
- 12 0000 8F92 push r8
- 13 0002 9F92 push r9
- 14 0004 AF92 push r10
- 15 0006 BF92 push r11
- 16 0008 CF92 push r12
- 17 000a DF92 push r13
- 18 000c EF92 push r14
- 19 000e FF92 push r15
- 20 0010 0F93 push r16
- 21 0012 1F93 push r17
- 22 0014 CF93 push r28
- 23 0016 DF93 push r29
- 24 /* prologue: function */
- 25 /* frame size = 0 */
- 26 /* stack size = 12 */
- 27 .L__stack_usage = 12
- 28 0018 EC01 movw r28,r24
- 29 001a 8901 movw r16,r18
- 30 001c E988 ldd r14,Y+17
- 31 001e FA88 ldd r15,Y+18
- 32 0020 483F cpi r20,-8
- 33 0022 8FEF ldi r24,-1
- 34 0024 5807 cpc r21,r24
- 35 0026 6105 cpc r22,__zero_reg__
- 36 0028 7105 cpc r23,__zero_reg__
- 37 002a 00F0 brlo .L2
- 38 .L4:
- 39 002c 8FEF ldi r24,lo8(-1)
- 40 002e 9FEF ldi r25,lo8(-1)
- 41 0030 00C0 rjmp .L3
- 42 .L2:
- 43 0032 CB01 movw r24,r22
- 44 0034 BA01 movw r22,r20
- 45 0036 660F lsl r22
- 46 0038 771F rol r23
- 47 003a 881F rol r24
- 48 003c 991F rol r25
- 49 003e D701 movw r26,r14
- 50 0040 5896 adiw r26,24
- 51 0042 2D91 ld r18,X+
- 52 0044 3C91 ld r19,X
- 53 0046 5997 sbiw r26,24+1
- 54 0048 40E0 ldi r20,0
- 55 004a 50E0 ldi r21,0
- 56 004c 0E94 0000 call __udivmodsi4
- 57 0050 4B01 movw r8,r22
- GAS LISTING /tmp/ccaJcdNi.s page 2
- 58 0052 5C01 movw r10,r24
- 59 0054 F701 movw r30,r14
- 60 0056 80A1 ldd r24,Z+32
- 61 0058 91A1 ldd r25,Z+33
- 62 005a A2A1 ldd r26,Z+34
- 63 005c B3A1 ldd r27,Z+35
- 64 005e BA01 movw r22,r20
- 65 0060 A901 movw r20,r18
- 66 0062 480F add r20,r24
- 67 0064 591F adc r21,r25
- 68 0066 6A1F adc r22,r26
- 69 0068 7B1F adc r23,r27
- 70 006a CE01 movw r24,r28
- 71 006c 0E94 0000 call PhatSectorLoad
- 72 0070 97FD sbrc r25,7
- 73 0072 00C0 rjmp .L4
- 74 0074 AC01 movw r20,r24
- 75 0076 4F5F subi r20,-1
- 76 0078 5F4F sbci r21,-1
- 77 007a 6AE0 ldi r22,lo8(10)
- 78 007c 649F mul r22,r20
- 79 007e 9001 movw r18,r0
- 80 0080 659F mul r22,r21
- 81 0082 300D add r19,r0
- 82 0084 1124 clr __zero_reg__
- 83 0086 F701 movw r30,r14
- 84 0088 E20F add r30,r18
- 85 008a F31F adc r31,r19
- 86 008c 2081 ld r18,Z
- 87 008e 3181 ldd r19,Z+1
- 88 0090 F901 movw r30,r18
- 89 0092 E80D add r30,r8
- 90 0094 F91D adc r31,r9
- 91 0096 4081 ld r20,Z
- 92 0098 50E0 ldi r21,0
- 93 009a 60E0 ldi r22,0
- 94 009c 70E0 ldi r23,0
- 95 009e D801 movw r26,r16
- 96 00a0 4D93 st X+,r20
- 97 00a2 5D93 st X+,r21
- 98 00a4 6D93 st X+,r22
- 99 00a6 7C93 st X,r23
- 100 00a8 1397 sbiw r26,3
- 101 00aa C180 ldd r12,Z+1
- 102 00ac D12C mov r13,__zero_reg__
- 103 00ae E12C mov r14,__zero_reg__
- 104 00b0 F12C mov r15,__zero_reg__
- 105 00b2 FE2C mov r15,r14
- 106 00b4 ED2C mov r14,r13
- 107 00b6 DC2C mov r13,r12
- 108 00b8 CC24 clr r12
- 109 00ba 4C0D add r20,r12
- 110 00bc 5D1D adc r21,r13
- 111 00be 6E1D adc r22,r14
- 112 00c0 7F1D adc r23,r15
- 113 00c2 F801 movw r30,r16
- 114 00c4 4083 st Z,r20
- GAS LISTING /tmp/ccaJcdNi.s page 3
- 115 00c6 5183 std Z+1,r21
- 116 00c8 6283 std Z+2,r22
- 117 00ca 7383 std Z+3,r23
- 118 00cc BC01 movw r22,r24
- 119 00ce CE01 movw r24,r28
- 120 00d0 0E94 0000 call PhatSectorBufferRelease
- 121 00d4 80E0 ldi r24,0
- 122 00d6 90E0 ldi r25,0
- 123 .L3:
- 124 /* epilogue start */
- 125 00d8 DF91 pop r29
- 126 00da CF91 pop r28
- 127 00dc 1F91 pop r17
- 128 00de 0F91 pop r16
- 129 00e0 FF90 pop r15
- 130 00e2 EF90 pop r14
- 131 00e4 DF90 pop r13
- 132 00e6 CF90 pop r12
- 133 00e8 BF90 pop r11
- 134 00ea AF90 pop r10
- 135 00ec 9F90 pop r9
- 136 00ee 8F90 pop r8
- 137 00f0 0895 ret
- 138 .size Phat16GetClusterLink, .-Phat16GetClusterLink
- 139 .section .text.Phat16SetClusterLink,"ax",@progbits
- 140 .global Phat16SetClusterLink
- 141 .type Phat16SetClusterLink, @function
- 142 Phat16SetClusterLink:
- 143 0000 2F92 push r2
- 144 0002 3F92 push r3
- 145 0004 4F92 push r4
- 146 0006 5F92 push r5
- 147 0008 6F92 push r6
- 148 000a 7F92 push r7
- 149 000c 8F92 push r8
- 150 000e 9F92 push r9
- 151 0010 AF92 push r10
- 152 0012 BF92 push r11
- 153 0014 CF92 push r12
- 154 0016 DF92 push r13
- 155 0018 EF92 push r14
- 156 001a FF92 push r15
- 157 001c 0F93 push r16
- 158 001e 1F93 push r17
- 159 0020 CF93 push r28
- 160 0022 DF93 push r29
- 161 0024 CDB7 in r28,__SP_L__
- 162 0026 DEB7 in r29,__SP_H__
- 163 0028 2797 sbiw r28,7
- 164 002a 0FB6 in __tmp_reg__,__SREG__
- 165 002c F894 cli
- 166 002e DEBF out __SP_H__,r29
- 167 0030 0FBE out __SREG__,__tmp_reg__
- 168 0032 CDBF out __SP_L__,r28
- 169 /* prologue: function */
- 170 /* frame size = 7 */
- 171 /* stack size = 25 */
- GAS LISTING /tmp/ccaJcdNi.s page 4
- 172 .L__stack_usage = 25
- 173 0034 5C01 movw r10,r24
- 174 0036 DC01 movw r26,r24
- 175 0038 5196 adiw r26,17
- 176 003a 0D90 ld __tmp_reg__,X+
- 177 003c BC91 ld r27,X
- 178 003e A02D mov r26,__tmp_reg__
- 179 0040 BF83 std Y+7,r27
- 180 0042 AE83 std Y+6,r26
- 181 0044 DB01 movw r26,r22
- 182 0046 CA01 movw r24,r20
- 183 0048 880F lsl r24
- 184 004a 991F rol r25
- 185 004c AA1F rol r26
- 186 004e BB1F rol r27
- 187 0050 8A83 std Y+2,r24
- 188 0052 9B83 std Y+3,r25
- 189 0054 AC83 std Y+4,r26
- 190 0056 BD83 std Y+5,r27
- 191 0058 1983 std Y+1,r17
- 192 005a 8E80 ldd r8,Y+6
- 193 005c 9F80 ldd r9,Y+7
- 194 005e 90E2 ldi r25,32
- 195 0060 890E add r8,r25
- 196 0062 911C adc r9,__zero_reg__
- 197 0064 2E80 ldd r2,Y+6
- 198 0066 3F80 ldd r3,Y+7
- 199 0068 A8E2 ldi r26,40
- 200 006a 2A0E add r2,r26
- 201 006c 311C adc r3,__zero_reg__
- 202 006e 1AE0 ldi r17,lo8(10)
- 203 .L7:
- 204 0070 F401 movw r30,r8
- 205 0072 4190 ld r4,Z+
- 206 0074 5190 ld r5,Z+
- 207 0076 6190 ld r6,Z+
- 208 0078 7190 ld r7,Z+
- 209 007a 4F01 movw r8,r30
- 210 007c 4114 cp r4,__zero_reg__
- 211 007e 5104 cpc r5,__zero_reg__
- 212 0080 6104 cpc r6,__zero_reg__
- 213 0082 7104 cpc r7,__zero_reg__
- 214 0084 01F0 breq .L10
- 215 0086 EE81 ldd r30,Y+6
- 216 0088 FF81 ldd r31,Y+7
- 217 008a 208D ldd r18,Z+24
- 218 008c 318D ldd r19,Z+25
- 219 008e 40E0 ldi r20,0
- 220 0090 50E0 ldi r21,0
- 221 0092 6A81 ldd r22,Y+2
- 222 0094 7B81 ldd r23,Y+3
- 223 0096 8C81 ldd r24,Y+4
- 224 0098 9D81 ldd r25,Y+5
- 225 009a 0E94 0000 call __udivmodsi4
- 226 009e 6B01 movw r12,r22
- 227 00a0 7C01 movw r14,r24
- 228 00a2 BA01 movw r22,r20
- GAS LISTING /tmp/ccaJcdNi.s page 5
- 229 00a4 A901 movw r20,r18
- 230 00a6 440D add r20,r4
- 231 00a8 551D adc r21,r5
- 232 00aa 661D adc r22,r6
- 233 00ac 771D adc r23,r7
- 234 00ae C501 movw r24,r10
- 235 00b0 0E94 0000 call PhatSectorLoad
- 236 00b4 97FD sbrc r25,7
- 237 00b6 00C0 rjmp .L11
- 238 00b8 189F mul r17,r24
- 239 00ba F001 movw r30,r0
- 240 00bc 199F mul r17,r25
- 241 00be F00D add r31,r0
- 242 00c0 1124 clr __zero_reg__
- 243 00c2 2E81 ldd r18,Y+6
- 244 00c4 3F81 ldd r19,Y+7
- 245 00c6 E20F add r30,r18
- 246 00c8 F31F adc r31,r19
- 247 00ca A285 ldd r26,Z+10
- 248 00cc B385 ldd r27,Z+11
- 249 00ce AC0D add r26,r12
- 250 00d0 BD1D adc r27,r13
- 251 00d2 0C93 st X,r16
- 252 00d4 2285 ldd r18,Z+10
- 253 00d6 3385 ldd r19,Z+11
- 254 00d8 C20E add r12,r18
- 255 00da D31E adc r13,r19
- 256 00dc 2981 ldd r18,Y+1
- 257 00de D601 movw r26,r12
- 258 00e0 1196 adiw r26,1
- 259 00e2 2C93 st X,r18
- 260 00e4 A1E0 ldi r26,lo8(1)
- 261 00e6 B0E0 ldi r27,0
- 262 00e8 B18B std Z+17,r27
- 263 00ea A08B std Z+16,r26
- 264 00ec BC01 movw r22,r24
- 265 00ee C501 movw r24,r10
- 266 00f0 0E94 0000 call PhatSectorBufferRelease
- 267 00f4 8214 cp r8,r2
- 268 00f6 9304 cpc r9,r3
- 269 00f8 01F0 breq .+2
- 270 00fa 00C0 rjmp .L7
- 271 .L10:
- 272 00fc 80E0 ldi r24,0
- 273 00fe 90E0 ldi r25,0
- 274 0100 00C0 rjmp .L8
- 275 .L11:
- 276 0102 8FEF ldi r24,lo8(-1)
- 277 0104 9FEF ldi r25,lo8(-1)
- 278 .L8:
- 279 /* epilogue start */
- 280 0106 2796 adiw r28,7
- 281 0108 0FB6 in __tmp_reg__,__SREG__
- 282 010a F894 cli
- 283 010c DEBF out __SP_H__,r29
- 284 010e 0FBE out __SREG__,__tmp_reg__
- 285 0110 CDBF out __SP_L__,r28
- GAS LISTING /tmp/ccaJcdNi.s page 6
- 286 0112 DF91 pop r29
- 287 0114 CF91 pop r28
- 288 0116 1F91 pop r17
- 289 0118 0F91 pop r16
- 290 011a FF90 pop r15
- 291 011c EF90 pop r14
- 292 011e DF90 pop r13
- 293 0120 CF90 pop r12
- 294 0122 BF90 pop r11
- 295 0124 AF90 pop r10
- 296 0126 9F90 pop r9
- 297 0128 8F90 pop r8
- 298 012a 7F90 pop r7
- 299 012c 6F90 pop r6
- 300 012e 5F90 pop r5
- 301 0130 4F90 pop r4
- 302 0132 3F90 pop r3
- 303 0134 2F90 pop r2
- 304 0136 0895 ret
- 305 .size Phat16SetClusterLink, .-Phat16SetClusterLink
- 306 .section .text.Phat16ReleaseChain,"ax",@progbits
- 307 .global Phat16ReleaseChain
- 308 .type Phat16ReleaseChain, @function
- 309 Phat16ReleaseChain:
- 310 0000 8F92 push r8
- 311 0002 9F92 push r9
- 312 0004 AF92 push r10
- 313 0006 BF92 push r11
- 314 0008 CF92 push r12
- 315 000a DF92 push r13
- 316 000c EF92 push r14
- 317 000e FF92 push r15
- 318 0010 0F93 push r16
- 319 0012 1F93 push r17
- 320 0014 CF93 push r28
- 321 0016 DF93 push r29
- 322 0018 00D0 rcall .
- 323 001a 1F92 push __zero_reg__
- 324 001c CDB7 in r28,__SP_L__
- 325 001e DEB7 in r29,__SP_H__
- 326 /* prologue: function */
- 327 /* frame size = 4 */
- 328 /* stack size = 16 */
- 329 .L__stack_usage = 16
- 330 0020 5C01 movw r10,r24
- 331 0022 6A01 movw r12,r20
- 332 0024 7B01 movw r14,r22
- 333 0026 FC01 movw r30,r24
- 334 0028 8188 ldd r8,Z+17
- 335 002a 9288 ldd r9,Z+18
- 336 .L14:
- 337 002c F8EF ldi r31,-8
- 338 002e CF16 cp r12,r31
- 339 0030 FFEF ldi r31,-1
- 340 0032 DF06 cpc r13,r31
- 341 0034 E104 cpc r14,__zero_reg__
- 342 0036 F104 cpc r15,__zero_reg__
- GAS LISTING /tmp/ccaJcdNi.s page 7
- 343 0038 00F4 brsh .L20
- 344 003a 9E01 movw r18,r28
- 345 003c 2F5F subi r18,-1
- 346 003e 3F4F sbci r19,-1
- 347 0040 B701 movw r22,r14
- 348 0042 A601 movw r20,r12
- 349 0044 C501 movw r24,r10
- 350 0046 0E94 0000 call Phat16GetClusterLink
- 351 004a 892B or r24,r25
- 352 004c 01F0 breq .L15
- 353 .L18:
- 354 004e 8FEF ldi r24,lo8(-1)
- 355 0050 9FEF ldi r25,lo8(-1)
- 356 0052 00C0 rjmp .L16
- 357 .L15:
- 358 0054 8981 ldd r24,Y+1
- 359 0056 9A81 ldd r25,Y+2
- 360 0058 AB81 ldd r26,Y+3
- 361 005a BC81 ldd r27,Y+4
- 362 005c 0297 sbiw r24,2
- 363 005e A105 cpc r26,__zero_reg__
- 364 0060 B105 cpc r27,__zero_reg__
- 365 0062 00F4 brsh .L17
- 366 .L20:
- 367 0064 80E0 ldi r24,0
- 368 0066 90E0 ldi r25,0
- 369 0068 00C0 rjmp .L16
- 370 .L17:
- 371 006a 00E0 ldi r16,0
- 372 006c 10E0 ldi r17,0
- 373 006e 9801 movw r18,r16
- 374 0070 B701 movw r22,r14
- 375 0072 A601 movw r20,r12
- 376 0074 C501 movw r24,r10
- 377 0076 0E94 0000 call Phat16SetClusterLink
- 378 007a 892B or r24,r25
- 379 007c 01F4 brne .L18
- 380 007e F401 movw r30,r8
- 381 0080 8281 ldd r24,Z+2
- 382 0082 9381 ldd r25,Z+3
- 383 0084 A481 ldd r26,Z+4
- 384 0086 B581 ldd r27,Z+5
- 385 0088 0196 adiw r24,1
- 386 008a A11D adc r26,__zero_reg__
- 387 008c B11D adc r27,__zero_reg__
- 388 008e 8283 std Z+2,r24
- 389 0090 9383 std Z+3,r25
- 390 0092 A483 std Z+4,r26
- 391 0094 B583 std Z+5,r27
- 392 0096 C980 ldd r12,Y+1
- 393 0098 DA80 ldd r13,Y+2
- 394 009a EB80 ldd r14,Y+3
- 395 009c FC80 ldd r15,Y+4
- 396 009e 00C0 rjmp .L14
- 397 .L16:
- 398 /* epilogue start */
- 399 00a0 0F90 pop __tmp_reg__
- GAS LISTING /tmp/ccaJcdNi.s page 8
- 400 00a2 0F90 pop __tmp_reg__
- 401 00a4 0F90 pop __tmp_reg__
- 402 00a6 0F90 pop __tmp_reg__
- 403 00a8 DF91 pop r29
- 404 00aa CF91 pop r28
- 405 00ac 1F91 pop r17
- 406 00ae 0F91 pop r16
- 407 00b0 FF90 pop r15
- 408 00b2 EF90 pop r14
- 409 00b4 DF90 pop r13
- 410 00b6 CF90 pop r12
- 411 00b8 BF90 pop r11
- 412 00ba AF90 pop r10
- 413 00bc 9F90 pop r9
- 414 00be 8F90 pop r8
- 415 00c0 0895 ret
- 416 .size Phat16ReleaseChain, .-Phat16ReleaseChain
- 417 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/ccaJcdNi.s page 9
- DEFINED SYMBOLS
- *ABS*:0000000000000000 phat16.c
- /tmp/ccaJcdNi.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccaJcdNi.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccaJcdNi.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccaJcdNi.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccaJcdNi.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccaJcdNi.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccaJcdNi.s:11 .text.Phat16GetClusterLink:0000000000000000 Phat16GetClusterLink
- /tmp/ccaJcdNi.s:142 .text.Phat16SetClusterLink:0000000000000000 Phat16SetClusterLink
- /tmp/ccaJcdNi.s:309 .text.Phat16ReleaseChain:0000000000000000 Phat16ReleaseChain
- UNDEFINED SYMBOLS
- __udivmodsi4
- PhatSectorLoad
- PhatSectorBufferRelease
|