| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862 |
- GAS LISTING /tmp/ccf3xz9l.s page 1
- 1 .file "phat12.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.Phat12GetClusterLink,"ax",@progbits
- 9 .global Phat12GetClusterLink
- 10 .type Phat12GetClusterLink, @function
- 11 Phat12GetClusterLink:
- 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 /* prologue: function */
- 31 /* frame size = 0 */
- 32 /* stack size = 18 */
- 33 .L__stack_usage = 18
- 34 0024 8C01 movw r16,r24
- 35 0026 6A01 movw r12,r20
- 36 0028 7B01 movw r14,r22
- 37 002a E901 movw r28,r18
- 38 002c FC01 movw r30,r24
- 39 002e 2188 ldd r2,Z+17
- 40 0030 3288 ldd r3,Z+18
- 41 0032 483F cpi r20,-8
- 42 0034 FFE0 ldi r31,15
- 43 0036 5F07 cpc r21,r31
- 44 0038 6105 cpc r22,__zero_reg__
- 45 003a 7105 cpc r23,__zero_reg__
- 46 003c 00F0 brlo .L2
- 47 .L4:
- 48 003e 8FEF ldi r24,lo8(-1)
- 49 0040 9FEF ldi r25,lo8(-1)
- 50 0042 00C0 rjmp .L3
- 51 .L2:
- 52 0044 DB01 movw r26,r22
- 53 0046 CA01 movw r24,r20
- 54 0048 B695 lsr r27
- 55 004a A795 ror r26
- 56 004c 9795 ror r25
- 57 004e 8795 ror r24
- GAS LISTING /tmp/ccf3xz9l.s page 2
- 58 0050 BC01 movw r22,r24
- 59 0052 CD01 movw r24,r26
- 60 0054 6C0D add r22,r12
- 61 0056 7D1D adc r23,r13
- 62 0058 8E1D adc r24,r14
- 63 005a 9F1D adc r25,r15
- 64 005c F101 movw r30,r2
- 65 005e 208D ldd r18,Z+24
- 66 0060 318D ldd r19,Z+25
- 67 0062 40E0 ldi r20,0
- 68 0064 50E0 ldi r21,0
- 69 0066 0E94 0000 call __udivmodsi4
- 70 006a 4B01 movw r8,r22
- 71 006c 5C01 movw r10,r24
- 72 006e F101 movw r30,r2
- 73 0070 80A1 ldd r24,Z+32
- 74 0072 91A1 ldd r25,Z+33
- 75 0074 A2A1 ldd r26,Z+34
- 76 0076 B3A1 ldd r27,Z+35
- 77 0078 2901 movw r4,r18
- 78 007a 3A01 movw r6,r20
- 79 007c 480E add r4,r24
- 80 007e 591E adc r5,r25
- 81 0080 6A1E adc r6,r26
- 82 0082 7B1E adc r7,r27
- 83 0084 B301 movw r22,r6
- 84 0086 A201 movw r20,r4
- 85 0088 C801 movw r24,r16
- 86 008a 0E94 0000 call PhatSectorLoad
- 87 008e 97FD sbrc r25,7
- 88 0090 00C0 rjmp .L4
- 89 0092 B501 movw r22,r10
- 90 0094 A401 movw r20,r8
- 91 0096 4F5F subi r20,-1
- 92 0098 5F4F sbci r21,-1
- 93 009a 6F4F sbci r22,-1
- 94 009c 7F4F sbci r23,-1
- 95 009e 9C01 movw r18,r24
- 96 00a0 2F5F subi r18,-1
- 97 00a2 3F4F sbci r19,-1
- 98 00a4 AAE0 ldi r26,lo8(10)
- 99 00a6 A29F mul r26,r18
- 100 00a8 F001 movw r30,r0
- 101 00aa A39F mul r26,r19
- 102 00ac F00D add r31,r0
- 103 00ae 1124 clr __zero_reg__
- 104 00b0 E20D add r30,r2
- 105 00b2 F31D adc r31,r3
- 106 00b4 2081 ld r18,Z
- 107 00b6 3181 ldd r19,Z+1
- 108 00b8 F901 movw r30,r18
- 109 00ba E80D add r30,r8
- 110 00bc F91D adc r31,r9
- 111 00be 8080 ld r8,Z
- 112 00c0 912C mov r9,__zero_reg__
- 113 00c2 A12C mov r10,__zero_reg__
- 114 00c4 B12C mov r11,__zero_reg__
- GAS LISTING /tmp/ccf3xz9l.s page 3
- 115 00c6 8882 st Y,r8
- 116 00c8 9982 std Y+1,r9
- 117 00ca AA82 std Y+2,r10
- 118 00cc BB82 std Y+3,r11
- 119 00ce F101 movw r30,r2
- 120 00d0 208D ldd r18,Z+24
- 121 00d2 318D ldd r19,Z+25
- 122 00d4 4901 movw r8,r18
- 123 00d6 A12C mov r10,__zero_reg__
- 124 00d8 B12C mov r11,__zero_reg__
- 125 00da 4815 cp r20,r8
- 126 00dc 5905 cpc r21,r9
- 127 00de 6A05 cpc r22,r10
- 128 00e0 7B05 cpc r23,r11
- 129 00e2 00F0 brlo .L5
- 130 00e4 BC01 movw r22,r24
- 131 00e6 C801 movw r24,r16
- 132 00e8 0E94 0000 call PhatSectorBufferRelease
- 133 00ec B301 movw r22,r6
- 134 00ee A201 movw r20,r4
- 135 00f0 4F5F subi r20,-1
- 136 00f2 5F4F sbci r21,-1
- 137 00f4 6F4F sbci r22,-1
- 138 00f6 7F4F sbci r23,-1
- 139 00f8 C801 movw r24,r16
- 140 00fa 0E94 0000 call PhatSectorLoad
- 141 00fe 97FD sbrc r25,7
- 142 0100 00C0 rjmp .L4
- 143 0102 40E0 ldi r20,0
- 144 0104 50E0 ldi r21,0
- 145 0106 BA01 movw r22,r20
- 146 .L5:
- 147 0108 FC01 movw r30,r24
- 148 010a 3196 adiw r30,1
- 149 010c AAE0 ldi r26,lo8(10)
- 150 010e AE9F mul r26,r30
- 151 0110 9001 movw r18,r0
- 152 0112 AF9F mul r26,r31
- 153 0114 300D add r19,r0
- 154 0116 1124 clr __zero_reg__
- 155 0118 F101 movw r30,r2
- 156 011a E20F add r30,r18
- 157 011c F31F adc r31,r19
- 158 011e 2081 ld r18,Z
- 159 0120 3181 ldd r19,Z+1
- 160 0122 F901 movw r30,r18
- 161 0124 E40F add r30,r20
- 162 0126 F51F adc r31,r21
- 163 0128 4081 ld r20,Z
- 164 012a 50E0 ldi r21,0
- 165 012c 60E0 ldi r22,0
- 166 012e 70E0 ldi r23,0
- 167 0130 762F mov r23,r22
- 168 0132 652F mov r22,r21
- 169 0134 542F mov r21,r20
- 170 0136 4427 clr r20
- 171 0138 8880 ld r8,Y
- GAS LISTING /tmp/ccf3xz9l.s page 4
- 172 013a 9980 ldd r9,Y+1
- 173 013c AA80 ldd r10,Y+2
- 174 013e BB80 ldd r11,Y+3
- 175 0140 480D add r20,r8
- 176 0142 591D adc r21,r9
- 177 0144 6A1D adc r22,r10
- 178 0146 7B1D adc r23,r11
- 179 0148 4883 st Y,r20
- 180 014a 5983 std Y+1,r21
- 181 014c 6A83 std Y+2,r22
- 182 014e 7B83 std Y+3,r23
- 183 0150 BC01 movw r22,r24
- 184 0152 C801 movw r24,r16
- 185 0154 0E94 0000 call PhatSectorBufferRelease
- 186 0158 C0FE sbrs r12,0
- 187 015a 00C0 rjmp .L6
- 188 015c 8881 ld r24,Y
- 189 015e 9981 ldd r25,Y+1
- 190 0160 AA81 ldd r26,Y+2
- 191 0162 BB81 ldd r27,Y+3
- 192 0164 24E0 ldi r18,4
- 193 1:
- 194 0166 B695 lsr r27
- 195 0168 A795 ror r26
- 196 016a 9795 ror r25
- 197 016c 8795 ror r24
- 198 016e 2A95 dec r18
- 199 0170 01F4 brne 1b
- 200 0172 8883 st Y,r24
- 201 0174 9983 std Y+1,r25
- 202 0176 AA83 std Y+2,r26
- 203 0178 BB83 std Y+3,r27
- 204 .L6:
- 205 017a 8881 ld r24,Y
- 206 017c 9981 ldd r25,Y+1
- 207 017e AA81 ldd r26,Y+2
- 208 0180 BB81 ldd r27,Y+3
- 209 0182 9F70 andi r25,15
- 210 0184 AA27 clr r26
- 211 0186 BB27 clr r27
- 212 0188 8883 st Y,r24
- 213 018a 9983 std Y+1,r25
- 214 018c AA83 std Y+2,r26
- 215 018e BB83 std Y+3,r27
- 216 0190 80E0 ldi r24,0
- 217 0192 90E0 ldi r25,0
- 218 .L3:
- 219 /* epilogue start */
- 220 0194 DF91 pop r29
- 221 0196 CF91 pop r28
- 222 0198 1F91 pop r17
- 223 019a 0F91 pop r16
- 224 019c FF90 pop r15
- 225 019e EF90 pop r14
- 226 01a0 DF90 pop r13
- 227 01a2 CF90 pop r12
- 228 01a4 BF90 pop r11
- GAS LISTING /tmp/ccf3xz9l.s page 5
- 229 01a6 AF90 pop r10
- 230 01a8 9F90 pop r9
- 231 01aa 8F90 pop r8
- 232 01ac 7F90 pop r7
- 233 01ae 6F90 pop r6
- 234 01b0 5F90 pop r5
- 235 01b2 4F90 pop r4
- 236 01b4 3F90 pop r3
- 237 01b6 2F90 pop r2
- 238 01b8 0895 ret
- 239 .size Phat12GetClusterLink, .-Phat12GetClusterLink
- 240 .section .text.Phat12SetClusterLink,"ax",@progbits
- 241 .global Phat12SetClusterLink
- 242 .type Phat12SetClusterLink, @function
- 243 Phat12SetClusterLink:
- 244 0000 2F92 push r2
- 245 0002 3F92 push r3
- 246 0004 4F92 push r4
- 247 0006 5F92 push r5
- 248 0008 6F92 push r6
- 249 000a 7F92 push r7
- 250 000c 8F92 push r8
- 251 000e 9F92 push r9
- 252 0010 AF92 push r10
- 253 0012 BF92 push r11
- 254 0014 CF92 push r12
- 255 0016 DF92 push r13
- 256 0018 EF92 push r14
- 257 001a FF92 push r15
- 258 001c 0F93 push r16
- 259 001e 1F93 push r17
- 260 0020 CF93 push r28
- 261 0022 DF93 push r29
- 262 0024 CDB7 in r28,__SP_L__
- 263 0026 DEB7 in r29,__SP_H__
- 264 0028 6C97 sbiw r28,28
- 265 002a 0FB6 in __tmp_reg__,__SREG__
- 266 002c F894 cli
- 267 002e DEBF out __SP_H__,r29
- 268 0030 0FBE out __SREG__,__tmp_reg__
- 269 0032 CDBF out __SP_L__,r28
- 270 /* prologue: function */
- 271 /* frame size = 28 */
- 272 /* stack size = 46 */
- 273 .L__stack_usage = 46
- 274 0034 1C01 movw r2,r24
- 275 0036 2801 movw r4,r16
- 276 0038 3901 movw r6,r18
- 277 003a DC01 movw r26,r24
- 278 003c 5196 adiw r26,17
- 279 003e 0D90 ld __tmp_reg__,X+
- 280 0040 BC91 ld r27,X
- 281 0042 A02D mov r26,__tmp_reg__
- 282 0044 BA8F std Y+26,r27
- 283 0046 A98F std Y+25,r26
- 284 0048 DB01 movw r26,r22
- 285 004a CA01 movw r24,r20
- GAS LISTING /tmp/ccf3xz9l.s page 6
- 286 004c B695 lsr r27
- 287 004e A795 ror r26
- 288 0050 9795 ror r25
- 289 0052 8795 ror r24
- 290 0054 8C01 movw r16,r24
- 291 0056 9D01 movw r18,r26
- 292 0058 040F add r16,r20
- 293 005a 151F adc r17,r21
- 294 005c 261F adc r18,r22
- 295 005e 371F adc r19,r23
- 296 0060 098B std Y+17,r16
- 297 0062 1A8B std Y+18,r17
- 298 0064 2B8B std Y+19,r18
- 299 0066 3C8B std Y+20,r19
- 300 0068 098D ldd r16,Y+25
- 301 006a 1A8D ldd r17,Y+26
- 302 006c 005E subi r16,-32
- 303 006e 1F4F sbci r17,-1
- 304 0070 1E83 std Y+6,r17
- 305 0072 0D83 std Y+5,r16
- 306 0074 098D ldd r16,Y+25
- 307 0076 1A8D ldd r17,Y+26
- 308 0078 085D subi r16,-40
- 309 007a 1F4F sbci r17,-1
- 310 007c 188B std Y+16,r17
- 311 007e 0F87 std Y+15,r16
- 312 0080 DB01 movw r26,r22
- 313 0082 CA01 movw r24,r20
- 314 0084 8170 andi r24,1
- 315 0086 9927 clr r25
- 316 0088 AA27 clr r26
- 317 008a BB27 clr r27
- 318 008c 8D8B std Y+21,r24
- 319 008e 9E8B std Y+22,r25
- 320 0090 AF8B std Y+23,r26
- 321 0092 B88F std Y+24,r27
- 322 .L12:
- 323 0094 AD81 ldd r26,Y+5
- 324 0096 BE81 ldd r27,Y+6
- 325 0098 CD90 ld r12,X+
- 326 009a DD90 ld r13,X+
- 327 009c ED90 ld r14,X+
- 328 009e FD90 ld r15,X+
- 329 00a0 BE83 std Y+6,r27
- 330 00a2 AD83 std Y+5,r26
- 331 00a4 C114 cp r12,__zero_reg__
- 332 00a6 D104 cpc r13,__zero_reg__
- 333 00a8 E104 cpc r14,__zero_reg__
- 334 00aa F104 cpc r15,__zero_reg__
- 335 00ac 01F4 brne .+2
- 336 00ae 00C0 rjmp .L23
- 337 00b0 A98D ldd r26,Y+25
- 338 00b2 BA8D ldd r27,Y+26
- 339 00b4 5896 adiw r26,24
- 340 00b6 2D91 ld r18,X+
- 341 00b8 3C91 ld r19,X
- 342 00ba 5997 sbiw r26,24+1
- GAS LISTING /tmp/ccf3xz9l.s page 7
- 343 00bc 40E0 ldi r20,0
- 344 00be 50E0 ldi r21,0
- 345 00c0 6989 ldd r22,Y+17
- 346 00c2 7A89 ldd r23,Y+18
- 347 00c4 8B89 ldd r24,Y+19
- 348 00c6 9C89 ldd r25,Y+20
- 349 00c8 0E94 0000 call __udivmodsi4
- 350 00cc 4B01 movw r8,r22
- 351 00ce 5C01 movw r10,r24
- 352 00d0 C20E add r12,r18
- 353 00d2 D31E adc r13,r19
- 354 00d4 E41E adc r14,r20
- 355 00d6 F51E adc r15,r21
- 356 00d8 B701 movw r22,r14
- 357 00da A601 movw r20,r12
- 358 00dc C101 movw r24,r2
- 359 00de 0E94 0000 call PhatSectorLoad
- 360 00e2 DC01 movw r26,r24
- 361 00e4 97FF sbrs r25,7
- 362 00e6 00C0 rjmp .L13
- 363 .L17:
- 364 00e8 8FEF ldi r24,lo8(-1)
- 365 00ea 9FEF ldi r25,lo8(-1)
- 366 00ec 00C0 rjmp .L14
- 367 .L13:
- 368 00ee 9C01 movw r18,r24
- 369 00f0 2F5F subi r18,-1
- 370 00f2 3F4F sbci r19,-1
- 371 00f4 EAE0 ldi r30,lo8(10)
- 372 00f6 E29F mul r30,r18
- 373 00f8 C001 movw r24,r0
- 374 00fa E39F mul r30,r19
- 375 00fc 900D add r25,r0
- 376 00fe 1124 clr __zero_reg__
- 377 0100 E98D ldd r30,Y+25
- 378 0102 FA8D ldd r31,Y+26
- 379 0104 E80F add r30,r24
- 380 0106 F91F adc r31,r25
- 381 0108 0190 ld __tmp_reg__,Z+
- 382 010a F081 ld r31,Z
- 383 010c E02D mov r30,__tmp_reg__
- 384 010e 8F01 movw r16,r30
- 385 0110 080D add r16,r8
- 386 0112 191D adc r17,r9
- 387 0114 1C87 std Y+12,r17
- 388 0116 0B87 std Y+11,r16
- 389 0118 F801 movw r30,r16
- 390 011a 8081 ld r24,Z
- 391 011c 282F mov r18,r24
- 392 011e 30E0 ldi r19,0
- 393 0120 40E0 ldi r20,0
- 394 0122 50E0 ldi r21,0
- 395 0124 2983 std Y+1,r18
- 396 0126 3A83 std Y+2,r19
- 397 0128 4B83 std Y+3,r20
- 398 012a 5C83 std Y+4,r21
- 399 012c A501 movw r20,r10
- GAS LISTING /tmp/ccf3xz9l.s page 8
- 400 012e 9401 movw r18,r8
- 401 0130 2F5F subi r18,-1
- 402 0132 3F4F sbci r19,-1
- 403 0134 4F4F sbci r20,-1
- 404 0136 5F4F sbci r21,-1
- 405 0138 2F83 std Y+7,r18
- 406 013a 3887 std Y+8,r19
- 407 013c 4987 std Y+9,r20
- 408 013e 5A87 std Y+10,r21
- 409 0140 E98D ldd r30,Y+25
- 410 0142 FA8D ldd r31,Y+26
- 411 0144 408D ldd r20,Z+24
- 412 0146 518D ldd r21,Z+25
- 413 0148 60E0 ldi r22,0
- 414 014a 70E0 ldi r23,0
- 415 014c 0F81 ldd r16,Y+7
- 416 014e 1885 ldd r17,Y+8
- 417 0150 2985 ldd r18,Y+9
- 418 0152 3A85 ldd r19,Y+10
- 419 0154 0417 cp r16,r20
- 420 0156 1507 cpc r17,r21
- 421 0158 2607 cpc r18,r22
- 422 015a 3707 cpc r19,r23
- 423 015c 00F4 brsh .L15
- 424 015e EB85 ldd r30,Y+11
- 425 0160 FC85 ldd r31,Y+12
- 426 0162 4181 ldd r20,Z+1
- 427 0164 00C0 rjmp .L25
- 428 .L15:
- 429 0166 BD01 movw r22,r26
- 430 0168 C101 movw r24,r2
- 431 016a 0E94 0000 call PhatSectorBufferRelease
- 432 016e B701 movw r22,r14
- 433 0170 A601 movw r20,r12
- 434 0172 4F5F subi r20,-1
- 435 0174 5F4F sbci r21,-1
- 436 0176 6F4F sbci r22,-1
- 437 0178 7F4F sbci r23,-1
- 438 017a C101 movw r24,r2
- 439 017c 0E94 0000 call PhatSectorLoad
- 440 0180 DC01 movw r26,r24
- 441 0182 97FD sbrc r25,7
- 442 0184 00C0 rjmp .L17
- 443 0186 9C01 movw r18,r24
- 444 0188 2F5F subi r18,-1
- 445 018a 3F4F sbci r19,-1
- 446 018c 1AE0 ldi r17,lo8(10)
- 447 018e 129F mul r17,r18
- 448 0190 C001 movw r24,r0
- 449 0192 139F mul r17,r19
- 450 0194 900D add r25,r0
- 451 0196 1124 clr __zero_reg__
- 452 0198 E98D ldd r30,Y+25
- 453 019a FA8D ldd r31,Y+26
- 454 019c E80F add r30,r24
- 455 019e F91F adc r31,r25
- 456 01a0 0190 ld __tmp_reg__,Z+
- GAS LISTING /tmp/ccf3xz9l.s page 9
- 457 01a2 F081 ld r31,Z
- 458 01a4 E02D mov r30,__tmp_reg__
- 459 01a6 4081 ld r20,Z
- 460 .L25:
- 461 01a8 50E0 ldi r21,0
- 462 01aa 60E0 ldi r22,0
- 463 01ac 70E0 ldi r23,0
- 464 01ae 762F mov r23,r22
- 465 01b0 652F mov r22,r21
- 466 01b2 542F mov r21,r20
- 467 01b4 4427 clr r20
- 468 01b6 0981 ldd r16,Y+1
- 469 01b8 1A81 ldd r17,Y+2
- 470 01ba 2B81 ldd r18,Y+3
- 471 01bc 3C81 ldd r19,Y+4
- 472 01be 400F add r20,r16
- 473 01c0 511F adc r21,r17
- 474 01c2 621F adc r22,r18
- 475 01c4 731F adc r23,r19
- 476 01c6 1FE0 ldi r17,15
- 477 01c8 5122 and r5,r17
- 478 01ca 6624 clr r6
- 479 01cc 7724 clr r7
- 480 01ce 0D89 ldd r16,Y+21
- 481 01d0 1E89 ldd r17,Y+22
- 482 01d2 2F89 ldd r18,Y+23
- 483 01d4 388D ldd r19,Y+24
- 484 01d6 012B or r16,r17
- 485 01d8 022B or r16,r18
- 486 01da 032B or r16,r19
- 487 01dc 01F0 breq .L18
- 488 01de 4F70 andi r20,15
- 489 01e0 5527 clr r21
- 490 01e2 6627 clr r22
- 491 01e4 7727 clr r23
- 492 01e6 94E0 ldi r25,4
- 493 1:
- 494 01e8 440C lsl r4
- 495 01ea 551C rol r5
- 496 01ec 661C rol r6
- 497 01ee 771C rol r7
- 498 01f0 9A95 dec r25
- 499 01f2 01F4 brne 1b
- 500 01f4 00C0 rjmp .L19
- 501 .L18:
- 502 01f6 4427 clr r20
- 503 01f8 507F andi r21,240
- 504 01fa 6627 clr r22
- 505 01fc 7727 clr r23
- 506 .L19:
- 507 01fe 9301 movw r18,r6
- 508 0200 8201 movw r16,r4
- 509 0202 042B or r16,r20
- 510 0204 152B or r17,r21
- 511 0206 262B or r18,r22
- 512 0208 372B or r19,r23
- 513 020a 0983 std Y+1,r16
- GAS LISTING /tmp/ccf3xz9l.s page 10
- 514 020c 1A83 std Y+2,r17
- 515 020e 2B83 std Y+3,r18
- 516 0210 3C83 std Y+4,r19
- 517 0212 E98D ldd r30,Y+25
- 518 0214 FA8D ldd r31,Y+26
- 519 0216 808D ldd r24,Z+24
- 520 0218 918D ldd r25,Z+25
- 521 021a AC01 movw r20,r24
- 522 021c 60E0 ldi r22,0
- 523 021e 70E0 ldi r23,0
- 524 0220 8D01 movw r16,r26
- 525 0222 0F5F subi r16,-1
- 526 0224 1F4F sbci r17,-1
- 527 0226 1C8F std Y+28,r17
- 528 0228 0B8F std Y+27,r16
- 529 022a 0981 ldd r16,Y+1
- 530 022c 1A81 ldd r17,Y+2
- 531 022e 2B81 ldd r18,Y+3
- 532 0230 3C81 ldd r19,Y+4
- 533 0232 012F mov r16,r17
- 534 0234 122F mov r17,r18
- 535 0236 232F mov r18,r19
- 536 0238 3327 clr r19
- 537 023a 0B87 std Y+11,r16
- 538 023c 1C87 std Y+12,r17
- 539 023e 2D87 std Y+13,r18
- 540 0240 3E87 std Y+14,r19
- 541 0242 0F81 ldd r16,Y+7
- 542 0244 1885 ldd r17,Y+8
- 543 0246 2985 ldd r18,Y+9
- 544 0248 3A85 ldd r19,Y+10
- 545 024a 0417 cp r16,r20
- 546 024c 1507 cpc r17,r21
- 547 024e 2607 cpc r18,r22
- 548 0250 3707 cpc r19,r23
- 549 0252 00F4 brsh .L20
- 550 0254 4AE0 ldi r20,lo8(10)
- 551 0256 2B8D ldd r18,Y+27
- 552 0258 3C8D ldd r19,Y+28
- 553 025a 429F mul r20,r18
- 554 025c C001 movw r24,r0
- 555 025e 439F mul r20,r19
- 556 0260 900D add r25,r0
- 557 0262 1124 clr __zero_reg__
- 558 0264 E80F add r30,r24
- 559 0266 F91F adc r31,r25
- 560 0268 0190 ld __tmp_reg__,Z+
- 561 026a F081 ld r31,Z
- 562 026c E02D mov r30,__tmp_reg__
- 563 026e 9F01 movw r18,r30
- 564 0270 280D add r18,r8
- 565 0272 391D adc r19,r9
- 566 0274 0B85 ldd r16,Y+11
- 567 0276 F901 movw r30,r18
- 568 0278 0183 std Z+1,r16
- 569 027a 00C0 rjmp .L21
- 570 .L20:
- GAS LISTING /tmp/ccf3xz9l.s page 11
- 571 027c 4AE0 ldi r20,lo8(10)
- 572 027e 2B8D ldd r18,Y+27
- 573 0280 3C8D ldd r19,Y+28
- 574 0282 429F mul r20,r18
- 575 0284 F001 movw r30,r0
- 576 0286 439F mul r20,r19
- 577 0288 F00D add r31,r0
- 578 028a 1124 clr __zero_reg__
- 579 028c 098D ldd r16,Y+25
- 580 028e 1A8D ldd r17,Y+26
- 581 0290 E00F add r30,r16
- 582 0292 F11F adc r31,r17
- 583 0294 2081 ld r18,Z
- 584 0296 3181 ldd r19,Z+1
- 585 0298 0B85 ldd r16,Y+11
- 586 029a F901 movw r30,r18
- 587 029c 0083 st Z,r16
- 588 029e 4A9F mul r20,r26
- 589 02a0 F001 movw r30,r0
- 590 02a2 4B9F mul r20,r27
- 591 02a4 F00D add r31,r0
- 592 02a6 1124 clr __zero_reg__
- 593 02a8 098D ldd r16,Y+25
- 594 02aa 1A8D ldd r17,Y+26
- 595 02ac E00F add r30,r16
- 596 02ae F11F adc r31,r17
- 597 02b0 21E0 ldi r18,lo8(1)
- 598 02b2 30E0 ldi r19,0
- 599 02b4 318B std Z+17,r19
- 600 02b6 208B std Z+16,r18
- 601 02b8 BD01 movw r22,r26
- 602 02ba C101 movw r24,r2
- 603 02bc 0E94 0000 call PhatSectorBufferRelease
- 604 02c0 B701 movw r22,r14
- 605 02c2 A601 movw r20,r12
- 606 02c4 C101 movw r24,r2
- 607 02c6 0E94 0000 call PhatSectorLoad
- 608 02ca DC01 movw r26,r24
- 609 02cc 97FD sbrc r25,7
- 610 02ce 00C0 rjmp .L17
- 611 .L21:
- 612 02d0 9D01 movw r18,r26
- 613 02d2 2F5F subi r18,-1
- 614 02d4 3F4F sbci r19,-1
- 615 02d6 4AE0 ldi r20,lo8(10)
- 616 02d8 429F mul r20,r18
- 617 02da C001 movw r24,r0
- 618 02dc 439F mul r20,r19
- 619 02de 900D add r25,r0
- 620 02e0 1124 clr __zero_reg__
- 621 02e2 E98D ldd r30,Y+25
- 622 02e4 FA8D ldd r31,Y+26
- 623 02e6 E80F add r30,r24
- 624 02e8 F91F adc r31,r25
- 625 02ea 8081 ld r24,Z
- 626 02ec 9181 ldd r25,Z+1
- 627 02ee 880E add r8,r24
- GAS LISTING /tmp/ccf3xz9l.s page 12
- 628 02f0 991E adc r9,r25
- 629 02f2 0981 ldd r16,Y+1
- 630 02f4 F401 movw r30,r8
- 631 02f6 0083 st Z,r16
- 632 02f8 4A9F mul r20,r26
- 633 02fa F001 movw r30,r0
- 634 02fc 4B9F mul r20,r27
- 635 02fe F00D add r31,r0
- 636 0300 1124 clr __zero_reg__
- 637 0302 098D ldd r16,Y+25
- 638 0304 1A8D ldd r17,Y+26
- 639 0306 E00F add r30,r16
- 640 0308 F11F adc r31,r17
- 641 030a 21E0 ldi r18,lo8(1)
- 642 030c 30E0 ldi r19,0
- 643 030e 318B std Z+17,r19
- 644 0310 208B std Z+16,r18
- 645 0312 BD01 movw r22,r26
- 646 0314 C101 movw r24,r2
- 647 0316 0E94 0000 call PhatSectorBufferRelease
- 648 031a 0D81 ldd r16,Y+5
- 649 031c 1E81 ldd r17,Y+6
- 650 031e 2F85 ldd r18,Y+15
- 651 0320 3889 ldd r19,Y+16
- 652 0322 0217 cp r16,r18
- 653 0324 1307 cpc r17,r19
- 654 0326 01F0 breq .+2
- 655 0328 00C0 rjmp .L12
- 656 .L23:
- 657 032a 80E0 ldi r24,0
- 658 032c 90E0 ldi r25,0
- 659 .L14:
- 660 /* epilogue start */
- 661 032e 6C96 adiw r28,28
- 662 0330 0FB6 in __tmp_reg__,__SREG__
- 663 0332 F894 cli
- 664 0334 DEBF out __SP_H__,r29
- 665 0336 0FBE out __SREG__,__tmp_reg__
- 666 0338 CDBF out __SP_L__,r28
- 667 033a DF91 pop r29
- 668 033c CF91 pop r28
- 669 033e 1F91 pop r17
- 670 0340 0F91 pop r16
- 671 0342 FF90 pop r15
- 672 0344 EF90 pop r14
- 673 0346 DF90 pop r13
- 674 0348 CF90 pop r12
- 675 034a BF90 pop r11
- 676 034c AF90 pop r10
- 677 034e 9F90 pop r9
- 678 0350 8F90 pop r8
- 679 0352 7F90 pop r7
- 680 0354 6F90 pop r6
- 681 0356 5F90 pop r5
- 682 0358 4F90 pop r4
- 683 035a 3F90 pop r3
- 684 035c 2F90 pop r2
- GAS LISTING /tmp/ccf3xz9l.s page 13
- 685 035e 0895 ret
- 686 .size Phat12SetClusterLink, .-Phat12SetClusterLink
- 687 .section .text.Phat12ReleaseChain,"ax",@progbits
- 688 .global Phat12ReleaseChain
- 689 .type Phat12ReleaseChain, @function
- 690 Phat12ReleaseChain:
- 691 0000 8F92 push r8
- 692 0002 9F92 push r9
- 693 0004 AF92 push r10
- 694 0006 BF92 push r11
- 695 0008 CF92 push r12
- 696 000a DF92 push r13
- 697 000c EF92 push r14
- 698 000e FF92 push r15
- 699 0010 0F93 push r16
- 700 0012 1F93 push r17
- 701 0014 CF93 push r28
- 702 0016 DF93 push r29
- 703 0018 00D0 rcall .
- 704 001a 1F92 push __zero_reg__
- 705 001c CDB7 in r28,__SP_L__
- 706 001e DEB7 in r29,__SP_H__
- 707 /* prologue: function */
- 708 /* frame size = 4 */
- 709 /* stack size = 16 */
- 710 .L__stack_usage = 16
- 711 0020 5C01 movw r10,r24
- 712 0022 6A01 movw r12,r20
- 713 0024 7B01 movw r14,r22
- 714 0026 FC01 movw r30,r24
- 715 0028 8188 ldd r8,Z+17
- 716 002a 9288 ldd r9,Z+18
- 717 .L27:
- 718 002c F8EF ldi r31,-8
- 719 002e CF16 cp r12,r31
- 720 0030 FFE0 ldi r31,15
- 721 0032 DF06 cpc r13,r31
- 722 0034 E104 cpc r14,__zero_reg__
- 723 0036 F104 cpc r15,__zero_reg__
- 724 0038 00F4 brsh .L33
- 725 003a 9E01 movw r18,r28
- 726 003c 2F5F subi r18,-1
- 727 003e 3F4F sbci r19,-1
- 728 0040 B701 movw r22,r14
- 729 0042 A601 movw r20,r12
- 730 0044 C501 movw r24,r10
- 731 0046 0E94 0000 call Phat12GetClusterLink
- 732 004a 892B or r24,r25
- 733 004c 01F0 breq .L28
- 734 .L31:
- 735 004e 8FEF ldi r24,lo8(-1)
- 736 0050 9FEF ldi r25,lo8(-1)
- 737 0052 00C0 rjmp .L29
- 738 .L28:
- 739 0054 8981 ldd r24,Y+1
- 740 0056 9A81 ldd r25,Y+2
- 741 0058 AB81 ldd r26,Y+3
- GAS LISTING /tmp/ccf3xz9l.s page 14
- 742 005a BC81 ldd r27,Y+4
- 743 005c 0297 sbiw r24,2
- 744 005e A105 cpc r26,__zero_reg__
- 745 0060 B105 cpc r27,__zero_reg__
- 746 0062 00F4 brsh .L30
- 747 .L33:
- 748 0064 80E0 ldi r24,0
- 749 0066 90E0 ldi r25,0
- 750 0068 00C0 rjmp .L29
- 751 .L30:
- 752 006a 00E0 ldi r16,0
- 753 006c 10E0 ldi r17,0
- 754 006e 9801 movw r18,r16
- 755 0070 B701 movw r22,r14
- 756 0072 A601 movw r20,r12
- 757 0074 C501 movw r24,r10
- 758 0076 0E94 0000 call Phat12SetClusterLink
- 759 007a 892B or r24,r25
- 760 007c 01F4 brne .L31
- 761 007e F401 movw r30,r8
- 762 0080 8281 ldd r24,Z+2
- 763 0082 9381 ldd r25,Z+3
- 764 0084 A481 ldd r26,Z+4
- 765 0086 B581 ldd r27,Z+5
- 766 0088 0196 adiw r24,1
- 767 008a A11D adc r26,__zero_reg__
- 768 008c B11D adc r27,__zero_reg__
- 769 008e 8283 std Z+2,r24
- 770 0090 9383 std Z+3,r25
- 771 0092 A483 std Z+4,r26
- 772 0094 B583 std Z+5,r27
- 773 0096 C980 ldd r12,Y+1
- 774 0098 DA80 ldd r13,Y+2
- 775 009a EB80 ldd r14,Y+3
- 776 009c FC80 ldd r15,Y+4
- 777 009e 00C0 rjmp .L27
- 778 .L29:
- 779 /* epilogue start */
- 780 00a0 0F90 pop __tmp_reg__
- 781 00a2 0F90 pop __tmp_reg__
- 782 00a4 0F90 pop __tmp_reg__
- 783 00a6 0F90 pop __tmp_reg__
- 784 00a8 DF91 pop r29
- 785 00aa CF91 pop r28
- 786 00ac 1F91 pop r17
- 787 00ae 0F91 pop r16
- 788 00b0 FF90 pop r15
- 789 00b2 EF90 pop r14
- 790 00b4 DF90 pop r13
- 791 00b6 CF90 pop r12
- 792 00b8 BF90 pop r11
- 793 00ba AF90 pop r10
- 794 00bc 9F90 pop r9
- 795 00be 8F90 pop r8
- 796 00c0 0895 ret
- 797 .size Phat12ReleaseChain, .-Phat12ReleaseChain
- 798 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/ccf3xz9l.s page 15
- GAS LISTING /tmp/ccf3xz9l.s page 16
- DEFINED SYMBOLS
- *ABS*:0000000000000000 phat12.c
- /tmp/ccf3xz9l.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccf3xz9l.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccf3xz9l.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccf3xz9l.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccf3xz9l.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccf3xz9l.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccf3xz9l.s:11 .text.Phat12GetClusterLink:0000000000000000 Phat12GetClusterLink
- /tmp/ccf3xz9l.s:243 .text.Phat12SetClusterLink:0000000000000000 Phat12SetClusterLink
- /tmp/ccf3xz9l.s:690 .text.Phat12ReleaseChain:0000000000000000 Phat12ReleaseChain
- UNDEFINED SYMBOLS
- __udivmodsi4
- PhatSectorLoad
- PhatSectorBufferRelease
|