GAS LISTING /tmp/cc60iCvq.s page 1 1 .file "spi_flash_at45d.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.SpiAt45dFlashCheck,"ax",@progbits 9 .type SpiAt45dFlashCheck, @function 10 SpiAt45dFlashCheck: 11 /* prologue: function */ 12 /* frame size = 0 */ 13 /* stack size = 0 */ 14 .L__stack_usage = 0 15 0000 80E0 ldi r24,0 16 0002 90E0 ldi r25,0 17 0004 0895 ret 18 .size SpiAt45dFlashCheck, .-SpiAt45dFlashCheck 19 .section .text.SpiAt45dFlashErase,"ax",@progbits 20 .type SpiAt45dFlashErase, @function 21 SpiAt45dFlashErase: 22 0000 9F92 push r9 23 0002 AF92 push r10 24 0004 BF92 push r11 25 0006 CF92 push r12 26 0008 DF92 push r13 27 000a EF92 push r14 28 000c FF92 push r15 29 000e 0F93 push r16 30 0010 1F93 push r17 31 0012 CF93 push r28 32 0014 DF93 push r29 33 /* prologue: function */ 34 /* frame size = 0 */ 35 /* stack size = 11 */ 36 .L__stack_usage = 11 37 0016 6C01 movw r12,r24 38 0018 5B01 movw r10,r22 39 001a FC01 movw r30,r24 40 001c C281 ldd r28,Z+2 41 001e D381 ldd r29,Z+3 42 0020 8881 ld r24,Y 43 0022 9981 ldd r25,Y+1 44 0024 8617 cp r24,r22 45 0026 9707 cpc r25,r23 46 0028 00F0 brlo .L3 47 002a 9A01 movw r18,r20 48 002c 260F add r18,r22 49 002e 371F adc r19,r23 50 0030 8217 cp r24,r18 51 0032 9307 cpc r25,r19 52 0034 00F4 brsh .L3 53 0036 8FEF ldi r24,lo8(-1) 54 0038 9FEF ldi r25,lo8(-1) 55 003a 9983 std Y+1,r25 56 003c 8883 st Y,r24 57 003e 8C81 ldd r24,Y+4 GAS LISTING /tmp/cc60iCvq.s page 2 58 0040 8E7F andi r24,lo8(-2) 59 0042 8C83 std Y+4,r24 60 .L3: 61 0044 8A81 ldd r24,Y+2 62 0046 9B81 ldd r25,Y+3 63 0048 8A15 cp r24,r10 64 004a 9B05 cpc r25,r11 65 004c 00F0 brlo .L4 66 004e 9A01 movw r18,r20 67 0050 2A0D add r18,r10 68 0052 3B1D adc r19,r11 69 0054 8217 cp r24,r18 70 0056 9307 cpc r25,r19 71 0058 00F4 brsh .L4 72 005a 8FEF ldi r24,lo8(-1) 73 005c 9FEF ldi r25,lo8(-1) 74 005e 9B83 std Y+3,r25 75 0060 8A83 std Y+2,r24 76 0062 8D81 ldd r24,Y+5 77 0064 8E7F andi r24,lo8(-2) 78 0066 8D83 std Y+5,r24 79 .L4: 80 0068 7A01 movw r14,r20 81 006a F1E0 ldi r31,1 82 006c EF1A sub r14,r31 83 006e F108 sbc r15,__zero_reg__ 84 .L5: 85 0070 8FEF ldi r24,-1 86 0072 E816 cp r14,r24 87 0074 F806 cpc r15,r24 88 0076 01F0 breq .L10 89 0078 9C84 ldd r9,Y+12 90 007a F601 movw r30,r12 91 007c 8081 ld r24,Z 92 007e 9181 ldd r25,Z+1 93 0080 0E94 0000 call At45dNodeLock 94 0084 8C01 movw r16,r24 95 0086 892B or r24,r25 96 0088 01F4 brne .L6 97 008a 9701 movw r18,r14 98 008c 2A0D add r18,r10 99 008e 3B1D adc r19,r11 100 0090 C901 movw r24,r18 101 0092 A0E0 ldi r26,0 102 0094 B0E0 ldi r27,0 103 0096 9C01 movw r18,r24 104 0098 AD01 movw r20,r26 105 009a 00C0 rjmp 2f 106 1: 107 009c 220F lsl r18 108 009e 331F rol r19 109 00a0 441F rol r20 110 00a2 551F rol r21 111 2: 112 00a4 9A94 dec r9 113 00a6 02F4 brpl 1b 114 00a8 04E0 ldi r16,lo8(4) GAS LISTING /tmp/cc60iCvq.s page 3 115 00aa 61E8 ldi r22,lo8(-127) 116 00ac F601 movw r30,r12 117 00ae 8081 ld r24,Z 118 00b0 9181 ldd r25,Z+1 119 00b2 0E94 0000 call At45dNodeCommand 120 00b6 8C01 movw r16,r24 121 00b8 892B or r24,r25 122 00ba 01F4 brne .L7 123 00bc 20E0 ldi r18,0 124 00be 30E0 ldi r19,0 125 00c0 48EE ldi r20,lo8(-24) 126 00c2 53E0 ldi r21,lo8(3) 127 00c4 60E0 ldi r22,0 128 00c6 70E0 ldi r23,0 129 00c8 F601 movw r30,r12 130 00ca 8081 ld r24,Z 131 00cc 9181 ldd r25,Z+1 132 00ce 0E94 0000 call At45dNodeWaitReady 133 .L7: 134 00d2 F601 movw r30,r12 135 00d4 8081 ld r24,Z 136 00d6 9181 ldd r25,Z+1 137 00d8 0E94 0000 call At45dNodeUnlock 138 00dc F1E0 ldi r31,1 139 00de EF1A sub r14,r31 140 00e0 F108 sbc r15,__zero_reg__ 141 00e2 0115 cp r16,__zero_reg__ 142 00e4 1105 cpc r17,__zero_reg__ 143 00e6 01F0 breq .L5 144 00e8 00C0 rjmp .L6 145 .L10: 146 00ea 00E0 ldi r16,0 147 00ec 10E0 ldi r17,0 148 .L6: 149 00ee C801 movw r24,r16 150 /* epilogue start */ 151 00f0 DF91 pop r29 152 00f2 CF91 pop r28 153 00f4 1F91 pop r17 154 00f6 0F91 pop r16 155 00f8 FF90 pop r15 156 00fa EF90 pop r14 157 00fc DF90 pop r13 158 00fe CF90 pop r12 159 0100 BF90 pop r11 160 0102 AF90 pop r10 161 0104 9F90 pop r9 162 0106 0895 ret 163 .size SpiAt45dFlashErase, .-SpiAt45dFlashErase 164 .section .text.At45dFlashSaveUnit,"ax",@progbits 165 .type At45dFlashSaveUnit, @function 166 At45dFlashSaveUnit: 167 0000 4F92 push r4 168 0002 5F92 push r5 169 0004 6F92 push r6 170 0006 7F92 push r7 171 0008 8F92 push r8 GAS LISTING /tmp/cc60iCvq.s page 4 172 000a 9F92 push r9 173 000c AF92 push r10 174 000e BF92 push r11 175 0010 CF92 push r12 176 0012 DF92 push r13 177 0014 EF92 push r14 178 0016 FF92 push r15 179 0018 0F93 push r16 180 001a 1F93 push r17 181 001c CF93 push r28 182 001e DF93 push r29 183 /* prologue: function */ 184 /* frame size = 0 */ 185 /* stack size = 16 */ 186 .L__stack_usage = 16 187 0020 4C01 movw r8,r24 188 0022 C62F mov r28,r22 189 0024 FC01 movw r30,r24 190 0026 6280 ldd r6,Z+2 191 0028 7380 ldd r7,Z+3 192 002a 8081 ld r24,Z 193 002c 9181 ldd r25,Z+1 194 002e 0E94 0000 call At45dNodeLock 195 0032 8C01 movw r16,r24 196 0034 892B or r24,r25 197 0036 01F0 breq .+2 198 0038 00C0 rjmp .L12 199 003a 0C2E mov __tmp_reg__,r28 200 003c 000C lsl r0 201 003e DD0B sbc r29,r29 202 0040 F401 movw r30,r8 203 0042 A480 ldd r10,Z+4 204 0044 B580 ldd r11,Z+5 205 0046 2E01 movw r4,r28 206 0048 440C lsl r4 207 004a 551C rol r5 208 004c 460C add r4,r6 209 004e 571C adc r5,r7 210 0050 F201 movw r30,r4 211 0052 E584 ldd r14,Z+13 212 0054 F684 ldd r15,Z+14 213 0056 C12C mov r12,__zero_reg__ 214 0058 D12C mov r13,__zero_reg__ 215 005a 04E0 ldi r16,lo8(4) 216 005c 20E0 ldi r18,0 217 005e 30E0 ldi r19,0 218 0060 A901 movw r20,r18 219 0062 67E8 ldi r22,lo8(-121) 220 0064 F401 movw r30,r8 221 0066 8081 ld r24,Z 222 0068 9181 ldd r25,Z+1 223 006a 0E94 0000 call At45dNodeTransfer 224 006e 8C01 movw r16,r24 225 0070 892B or r24,r25 226 0072 01F4 brne .L12 227 0074 F201 movw r30,r4 228 0076 2081 ld r18,Z GAS LISTING /tmp/cc60iCvq.s page 5 229 0078 3181 ldd r19,Z+1 230 007a C901 movw r24,r18 231 007c A0E0 ldi r26,0 232 007e B0E0 ldi r27,0 233 0080 9C01 movw r18,r24 234 0082 AD01 movw r20,r26 235 0084 F301 movw r30,r6 236 0086 0484 ldd r0,Z+12 237 0088 00C0 rjmp 2f 238 1: 239 008a 220F lsl r18 240 008c 331F rol r19 241 008e 441F rol r20 242 0090 551F rol r21 243 2: 244 0092 0A94 dec r0 245 0094 02F4 brpl 1b 246 0096 04E0 ldi r16,lo8(4) 247 0098 69E8 ldi r22,lo8(-119) 248 009a F401 movw r30,r8 249 009c 8081 ld r24,Z 250 009e 9181 ldd r25,Z+1 251 00a0 0E94 0000 call At45dNodeCommand 252 00a4 8C01 movw r16,r24 253 00a6 892B or r24,r25 254 00a8 01F4 brne .L13 255 00aa 20E0 ldi r18,0 256 00ac 30E0 ldi r19,0 257 00ae 48EE ldi r20,lo8(-24) 258 00b0 53E0 ldi r21,lo8(3) 259 00b2 60E0 ldi r22,0 260 00b4 70E0 ldi r23,0 261 00b6 F401 movw r30,r8 262 00b8 8081 ld r24,Z 263 00ba 9181 ldd r25,Z+1 264 00bc 0E94 0000 call At45dNodeWaitReady 265 00c0 8C01 movw r16,r24 266 .L13: 267 00c2 F401 movw r30,r8 268 00c4 8081 ld r24,Z 269 00c6 9181 ldd r25,Z+1 270 00c8 0E94 0000 call At45dNodeUnlock 271 00cc 0115 cp r16,__zero_reg__ 272 00ce 1105 cpc r17,__zero_reg__ 273 00d0 01F4 brne .L12 274 00d2 C60D add r28,r6 275 00d4 D71D adc r29,r7 276 00d6 8C81 ldd r24,Y+4 277 00d8 8E7F andi r24,lo8(-2) 278 00da 8C83 std Y+4,r24 279 .L12: 280 00dc C801 movw r24,r16 281 /* epilogue start */ 282 00de DF91 pop r29 283 00e0 CF91 pop r28 284 00e2 1F91 pop r17 285 00e4 0F91 pop r16 GAS LISTING /tmp/cc60iCvq.s page 6 286 00e6 FF90 pop r15 287 00e8 EF90 pop r14 288 00ea DF90 pop r13 289 00ec CF90 pop r12 290 00ee BF90 pop r11 291 00f0 AF90 pop r10 292 00f2 9F90 pop r9 293 00f4 8F90 pop r8 294 00f6 7F90 pop r7 295 00f8 6F90 pop r6 296 00fa 5F90 pop r5 297 00fc 4F90 pop r4 298 00fe 0895 ret 299 .size At45dFlashSaveUnit, .-At45dFlashSaveUnit 300 .section .text.SpiAt45dFlashCommit,"ax",@progbits 301 .type SpiAt45dFlashCommit, @function 302 SpiAt45dFlashCommit: 303 /* prologue: function */ 304 /* frame size = 0 */ 305 /* stack size = 0 */ 306 .L__stack_usage = 0 307 0000 DC01 movw r26,r24 308 0002 1296 adiw r26,2 309 0004 ED91 ld r30,X+ 310 0006 FC91 ld r31,X 311 0008 1397 sbiw r26,2+1 312 000a 2081 ld r18,Z 313 000c 3181 ldd r19,Z+1 314 000e 6217 cp r22,r18 315 0010 7307 cpc r23,r19 316 0012 01F0 breq .L18 317 0014 2281 ldd r18,Z+2 318 0016 3381 ldd r19,Z+3 319 0018 6217 cp r22,r18 320 001a 7307 cpc r23,r19 321 001c 01F4 brne .L20 322 001e 61E0 ldi r22,lo8(1) 323 0020 00C0 rjmp .L15 324 .L18: 325 0022 60E0 ldi r22,0 326 .L15: 327 0024 E60F add r30,r22 328 0026 F11D adc r31,__zero_reg__ 329 0028 2481 ldd r18,Z+4 330 002a 20FD sbrc r18,0 331 002c 0C94 0000 jmp At45dFlashSaveUnit 332 .L20: 333 0030 80E0 ldi r24,0 334 0032 90E0 ldi r25,0 335 0034 0895 ret 336 .size SpiAt45dFlashCommit, .-SpiAt45dFlashCommit 337 .section .text.SpiAt45dFlashExit,"ax",@progbits 338 .type SpiAt45dFlashExit, @function 339 SpiAt45dFlashExit: 340 0000 0F93 push r16 341 0002 1F93 push r17 342 0004 CF93 push r28 GAS LISTING /tmp/cc60iCvq.s page 7 343 0006 DF93 push r29 344 /* prologue: function */ 345 /* frame size = 0 */ 346 /* stack size = 4 */ 347 .L__stack_usage = 4 348 0008 EC01 movw r28,r24 349 000a 0A81 ldd r16,Y+2 350 000c 1B81 ldd r17,Y+3 351 000e F801 movw r30,r16 352 0010 8585 ldd r24,Z+13 353 0012 9685 ldd r25,Z+14 354 0014 0E94 0000 call free 355 0018 F801 movw r30,r16 356 001a 8785 ldd r24,Z+15 357 001c 9089 ldd r25,Z+16 358 001e 0E94 0000 call free 359 0022 8A81 ldd r24,Y+2 360 0024 9B81 ldd r25,Y+3 361 /* epilogue start */ 362 0026 DF91 pop r29 363 0028 CF91 pop r28 364 002a 1F91 pop r17 365 002c 0F91 pop r16 366 002e 0C94 0000 jmp free 367 .size SpiAt45dFlashExit, .-SpiAt45dFlashExit 368 .section .text.SpiAt45dFlashInit,"ax",@progbits 369 .type SpiAt45dFlashInit, @function 370 SpiAt45dFlashInit: 371 0000 AF92 push r10 372 0002 BF92 push r11 373 0004 CF92 push r12 374 0006 DF92 push r13 375 0008 EF92 push r14 376 000a FF92 push r15 377 000c 0F93 push r16 378 000e 1F93 push r17 379 0010 CF93 push r28 380 0012 DF93 push r29 381 /* prologue: function */ 382 /* frame size = 0 */ 383 /* stack size = 10 */ 384 .L__stack_usage = 10 385 0014 8C01 movw r16,r24 386 0016 FC01 movw r30,r24 387 0018 8081 ld r24,Z 388 001a 9181 ldd r25,Z+1 389 001c 0E94 0000 call At45dNodeProbe 390 0020 7C01 movw r14,r24 391 0022 892B or r24,r25 392 0024 01F4 brne .L23 393 .L25: 394 0026 8FEF ldi r24,lo8(-1) 395 0028 9FEF ldi r25,lo8(-1) 396 002a 00C0 rjmp .L24 397 .L23: 398 002c 61E1 ldi r22,lo8(17) 399 002e 70E0 ldi r23,0 GAS LISTING /tmp/cc60iCvq.s page 8 400 0030 81E0 ldi r24,lo8(1) 401 0032 90E0 ldi r25,0 402 0034 0E94 0000 call calloc 403 0038 EC01 movw r28,r24 404 003a 892B or r24,r25 405 003c 01F0 breq .L25 406 003e F701 movw r30,r14 407 0040 8081 ld r24,Z 408 0042 8C87 std Y+12,r24 409 0044 AA24 clr r10 410 0046 AA94 dec r10 411 0048 BA2C mov r11,r10 412 004a B982 std Y+1,r11 413 004c A882 st Y,r10 414 004e C580 ldd r12,Z+5 415 0050 D680 ldd r13,Z+6 416 0052 C601 movw r24,r12 417 0054 0E94 0000 call malloc 418 0058 9E87 std Y+14,r25 419 005a 8D87 std Y+13,r24 420 005c BB82 std Y+3,r11 421 005e AA82 std Y+2,r10 422 0060 C601 movw r24,r12 423 0062 0E94 0000 call malloc 424 0066 988B std Y+16,r25 425 0068 8F87 std Y+15,r24 426 006a F801 movw r30,r16 427 006c D383 std Z+3,r29 428 006e C283 std Z+2,r28 429 0070 F701 movw r30,r14 430 0072 8181 ldd r24,Z+1 431 0074 9281 ldd r25,Z+2 432 0076 F801 movw r30,r16 433 0078 9783 std Z+7,r25 434 007a 8683 std Z+6,r24 435 007c D582 std Z+5,r13 436 007e C482 std Z+4,r12 437 0080 80E0 ldi r24,0 438 0082 90E0 ldi r25,0 439 .L24: 440 /* epilogue start */ 441 0084 DF91 pop r29 442 0086 CF91 pop r28 443 0088 1F91 pop r17 444 008a 0F91 pop r16 445 008c FF90 pop r15 446 008e EF90 pop r14 447 0090 DF90 pop r13 448 0092 CF90 pop r12 449 0094 BF90 pop r11 450 0096 AF90 pop r10 451 0098 0895 ret 452 .size SpiAt45dFlashInit, .-SpiAt45dFlashInit 453 .section .text.At45dFlashLoadUnit,"ax",@progbits 454 .type At45dFlashLoadUnit, @function 455 At45dFlashLoadUnit: 456 0000 3F92 push r3 GAS LISTING /tmp/cc60iCvq.s page 9 457 0002 4F92 push r4 458 0004 5F92 push r5 459 0006 6F92 push r6 460 0008 7F92 push r7 461 000a 8F92 push r8 462 000c 9F92 push r9 463 000e AF92 push r10 464 0010 BF92 push r11 465 0012 CF92 push r12 466 0014 DF92 push r13 467 0016 EF92 push r14 468 0018 FF92 push r15 469 001a 0F93 push r16 470 001c 1F93 push r17 471 001e CF93 push r28 472 0020 DF93 push r29 473 0022 00D0 rcall . 474 0024 1F92 push __zero_reg__ 475 0026 CDB7 in r28,__SP_L__ 476 0028 DEB7 in r29,__SP_H__ 477 /* prologue: function */ 478 /* frame size = 4 */ 479 /* stack size = 21 */ 480 .L__stack_usage = 21 481 002a 4C01 movw r8,r24 482 002c 3B01 movw r6,r22 483 002e 342E mov r3,r20 484 0030 FC01 movw r30,r24 485 0032 E280 ldd r14,Z+2 486 0034 F380 ldd r15,Z+3 487 0036 6701 movw r12,r14 488 0038 FAE0 ldi r31,10 489 003a CF0E add r12,r31 490 003c D11C adc r13,__zero_reg__ 491 .L49: 492 003e F701 movw r30,r14 493 0040 8081 ld r24,Z 494 0042 9181 ldd r25,Z+1 495 0044 6816 cp r6,r24 496 0046 7906 cpc r7,r25 497 0048 01F0 breq .L51 498 004a 8281 ldd r24,Z+2 499 004c 9381 ldd r25,Z+3 500 004e 6816 cp r6,r24 501 0050 7906 cpc r7,r25 502 0052 01F4 brne .L31 503 0054 81E0 ldi r24,lo8(1) 504 0056 90E0 ldi r25,0 505 0058 11E0 ldi r17,lo8(1) 506 005a 00C0 rjmp .L30 507 .L51: 508 005c 80E0 ldi r24,0 509 005e 90E0 ldi r25,0 510 0060 10E0 ldi r17,0 511 .L30: 512 0062 3320 tst r3 513 0064 01F4 brne .+2 GAS LISTING /tmp/cc60iCvq.s page 10 514 0066 00C0 rjmp .L52 515 0068 FC01 movw r30,r24 516 006a EE0F lsl r30 517 006c FF1F rol r31 518 006e EE0D add r30,r14 519 0070 FF1D adc r31,r15 520 0072 2681 ldd r18,Z+6 521 0074 3781 ldd r19,Z+7 522 0076 2F5F subi r18,-1 523 0078 3F4F sbci r19,-1 524 007a 3783 std Z+7,r19 525 007c 2683 std Z+6,r18 526 007e F701 movw r30,r14 527 0080 E80F add r30,r24 528 0082 F91F adc r31,r25 529 0084 8481 ldd r24,Z+4 530 0086 8160 ori r24,lo8(1) 531 0088 8483 std Z+4,r24 532 008a 00C0 rjmp .L52 533 .L31: 534 008c 8091 0000 lds r24,bnxt.2710 535 0090 182F mov r17,r24 536 .L33: 537 0092 212F mov r18,r17 538 0094 012E mov __tmp_reg__,r17 539 0096 000C lsl r0 540 0098 330B sbc r19,r19 541 009a 3C83 std Y+4,r19 542 009c 2B83 std Y+3,r18 543 009e F901 movw r30,r18 544 00a0 3396 adiw r30,3 545 00a2 EE0F lsl r30 546 00a4 FF1F rol r31 547 00a6 EE0D add r30,r14 548 00a8 FF1D adc r31,r15 549 00aa 2081 ld r18,Z 550 00ac 3181 ldd r19,Z+1 551 00ae 232B or r18,r19 552 00b0 01F4 brne .L34 553 00b2 4B80 ldd r4,Y+3 554 00b4 5C80 ldd r5,Y+4 555 00b6 4E0C add r4,r14 556 00b8 5F1C adc r5,r15 557 00ba F201 movw r30,r4 558 00bc 9481 ldd r25,Z+4 559 00be 90FF sbrs r25,0 560 00c0 00C0 rjmp .L35 561 .L34: 562 00c2 1F5F subi r17,lo8(-(1)) 563 00c4 1230 cpi r17,lo8(2) 564 00c6 04F0 brlt .+2 565 00c8 00C0 rjmp .L36 566 00ca 8117 cp r24,r17 567 00cc 01F0 breq .L37 568 00ce 17FF sbrs r17,7 569 00d0 00C0 rjmp .L33 570 00d2 00C0 rjmp .L37 GAS LISTING /tmp/cc60iCvq.s page 11 571 .L35: 572 00d4 17FF sbrs r17,7 573 00d6 00C0 rjmp .L39 574 .L37: 575 00d8 F701 movw r30,r14 576 00da 8681 ldd r24,Z+6 577 00dc 9781 ldd r25,Z+7 578 00de 892B or r24,r25 579 00e0 01F4 brne .L40 580 00e2 8481 ldd r24,Z+4 581 00e4 80FD sbrc r24,0 582 00e6 00C0 rjmp .L53 583 .L40: 584 00e8 F701 movw r30,r14 585 00ea 8085 ldd r24,Z+8 586 00ec 9185 ldd r25,Z+9 587 00ee 892B or r24,r25 588 00f0 01F0 breq .+2 589 00f2 00C0 rjmp .L42 590 00f4 8581 ldd r24,Z+5 591 00f6 80FF sbrs r24,0 592 00f8 00C0 rjmp .L42 593 00fa 61E0 ldi r22,lo8(1) 594 00fc 00C0 rjmp .L41 595 .L39: 596 00fe 5301 movw r10,r6 597 0100 C12C mov r12,__zero_reg__ 598 0102 D12C mov r13,__zero_reg__ 599 0104 F401 movw r30,r8 600 0106 8081 ld r24,Z 601 0108 9181 ldd r25,Z+1 602 010a 0E94 0000 call At45dNodeLock 603 010e 892B or r24,r25 604 0110 01F0 breq .+2 605 0112 00C0 rjmp .L68 606 0114 A601 movw r20,r12 607 0116 9501 movw r18,r10 608 0118 F701 movw r30,r14 609 011a 0484 ldd r0,Z+12 610 011c 00C0 rjmp 2f 611 1: 612 011e 220F lsl r18 613 0120 331F rol r19 614 0122 441F rol r20 615 0124 551F rol r21 616 2: 617 0126 0A94 dec r0 618 0128 02F4 brpl 1b 619 012a 6B81 ldd r22,Y+3 620 012c 7C81 ldd r23,Y+4 621 012e 660F lsl r22 622 0130 771F rol r23 623 0132 3320 tst r3 624 0134 01F0 breq .L44 625 0136 E60F add r30,r22 626 0138 F71F adc r31,r23 627 013a 8681 ldd r24,Z+6 GAS LISTING /tmp/cc60iCvq.s page 12 628 013c 9781 ldd r25,Z+7 629 013e 0196 adiw r24,1 630 0140 9783 std Z+7,r25 631 0142 8683 std Z+6,r24 632 .L44: 633 0144 F401 movw r30,r8 634 0146 A480 ldd r10,Z+4 635 0148 B580 ldd r11,Z+5 636 014a C701 movw r24,r14 637 014c 860F add r24,r22 638 014e 971F adc r25,r23 639 0150 9A83 std Y+2,r25 640 0152 8983 std Y+1,r24 641 0154 FC01 movw r30,r24 642 0156 C584 ldd r12,Z+13 643 0158 D684 ldd r13,Z+14 644 015a E12C mov r14,__zero_reg__ 645 015c F12C mov r15,__zero_reg__ 646 015e 08E0 ldi r16,lo8(8) 647 0160 62ED ldi r22,lo8(-46) 648 0162 F401 movw r30,r8 649 0164 8081 ld r24,Z 650 0166 9181 ldd r25,Z+1 651 0168 0E94 0000 call At45dNodeTransfer 652 016c 7C01 movw r14,r24 653 016e F401 movw r30,r8 654 0170 8081 ld r24,Z 655 0172 9181 ldd r25,Z+1 656 0174 0E94 0000 call At45dNodeUnlock 657 0178 EF28 or r14,r15 658 017a 01F4 brne .L45 659 017c E981 ldd r30,Y+1 660 017e FA81 ldd r31,Y+2 661 0180 7182 std Z+1,r7 662 0182 6082 st Z,r6 663 0184 3320 tst r3 664 0186 01F0 breq .L46 665 0188 F201 movw r30,r4 666 018a 8481 ldd r24,Z+4 667 018c 8160 ori r24,lo8(1) 668 018e 8483 std Z+4,r24 669 .L46: 670 0190 8091 0000 lds r24,bnxt.2710 671 0194 8F5F subi r24,lo8(-(1)) 672 0196 8230 cpi r24,lo8(2) 673 0198 04F4 brge .L47 674 019a 8093 0000 sts bnxt.2710,r24 675 019e 00C0 rjmp .L52 676 .L47: 677 01a0 1092 0000 sts bnxt.2710,__zero_reg__ 678 01a4 00C0 rjmp .L52 679 .L45: 680 01a6 3320 tst r3 681 01a8 01F0 breq .L68 682 01aa F401 movw r30,r8 683 01ac 8281 ldd r24,Z+2 684 01ae 9381 ldd r25,Z+3 GAS LISTING /tmp/cc60iCvq.s page 13 685 01b0 EB81 ldd r30,Y+3 686 01b2 FC81 ldd r31,Y+4 687 01b4 EE0F lsl r30 688 01b6 FF1F rol r31 689 01b8 E80F add r30,r24 690 01ba F91F adc r31,r25 691 01bc 2681 ldd r18,Z+6 692 01be 3781 ldd r19,Z+7 693 01c0 2150 subi r18,1 694 01c2 3109 sbc r19,__zero_reg__ 695 01c4 3783 std Z+7,r19 696 01c6 2683 std Z+6,r18 697 01c8 0A96 adiw r24,10 698 01ca 0E94 0000 call NutEventPost 699 .L68: 700 01ce 8FEF ldi r24,lo8(-1) 701 01d0 00C0 rjmp .L67 702 .L53: 703 01d2 60E0 ldi r22,0 704 .L41: 705 01d4 C401 movw r24,r8 706 01d6 0E94 0000 call At45dFlashSaveUnit 707 01da 892B or r24,r25 708 01dc 01F4 brne .+2 709 01de 00C0 rjmp .L49 710 01e0 00C0 rjmp .L68 711 .L52: 712 01e2 812F mov r24,r17 713 01e4 00C0 rjmp .L67 714 .L42: 715 01e6 40E0 ldi r20,0 716 01e8 50E0 ldi r21,0 717 01ea BA01 movw r22,r20 718 01ec C601 movw r24,r12 719 01ee 0E94 0000 call NutEventWait 720 01f2 00C0 rjmp .L49 721 .L36: 722 01f4 8823 tst r24 723 01f6 01F4 brne .+2 724 01f8 00C0 rjmp .L37 725 01fa 10E0 ldi r17,0 726 01fc 00C0 rjmp .L33 727 .L67: 728 /* epilogue start */ 729 01fe 0F90 pop __tmp_reg__ 730 0200 0F90 pop __tmp_reg__ 731 0202 0F90 pop __tmp_reg__ 732 0204 0F90 pop __tmp_reg__ 733 0206 DF91 pop r29 734 0208 CF91 pop r28 735 020a 1F91 pop r17 736 020c 0F91 pop r16 737 020e FF90 pop r15 738 0210 EF90 pop r14 739 0212 DF90 pop r13 740 0214 CF90 pop r12 741 0216 BF90 pop r11 GAS LISTING /tmp/cc60iCvq.s page 14 742 0218 AF90 pop r10 743 021a 9F90 pop r9 744 021c 8F90 pop r8 745 021e 7F90 pop r7 746 0220 6F90 pop r6 747 0222 5F90 pop r5 748 0224 4F90 pop r4 749 0226 3F90 pop r3 750 0228 0895 ret 751 .size At45dFlashLoadUnit, .-At45dFlashLoadUnit 752 .section .text.SpiAt45dFlashUsed,"ax",@progbits 753 .type SpiAt45dFlashUsed, @function 754 SpiAt45dFlashUsed: 755 0000 EF92 push r14 756 0002 FF92 push r15 757 0004 0F93 push r16 758 0006 1F93 push r17 759 0008 CF93 push r28 760 000a DF93 push r29 761 /* prologue: function */ 762 /* frame size = 0 */ 763 /* stack size = 6 */ 764 .L__stack_usage = 6 765 000c EA01 movw r28,r20 766 000e FC01 movw r30,r24 767 0010 E280 ldd r14,Z+2 768 0012 F380 ldd r15,Z+3 769 0014 0481 ldd r16,Z+4 770 0016 1581 ldd r17,Z+5 771 0018 57FF sbrs r21,7 772 001a 00C0 rjmp .L70 773 001c 040F add r16,r20 774 001e 151F adc r17,r21 775 0020 C0E0 ldi r28,0 776 0022 D0E0 ldi r29,0 777 0024 00C0 rjmp .L71 778 .L70: 779 0026 041B sub r16,r20 780 0028 150B sbc r17,r21 781 .L71: 782 002a 40E0 ldi r20,0 783 002c 0E94 0000 call At45dFlashLoadUnit 784 0030 87FD sbrc r24,7 785 0032 00C0 rjmp .L76 786 0034 0115 cp r16,__zero_reg__ 787 0036 1105 cpc r17,__zero_reg__ 788 0038 01F0 breq .L77 789 003a E82F mov r30,r24 790 003c EE0F lsl r30 791 003e FF0B sbc r31,r31 792 0040 EE0D add r30,r14 793 0042 FF1D adc r31,r15 794 0044 8585 ldd r24,Z+13 795 0046 9685 ldd r25,Z+14 796 0048 C80F add r28,r24 797 004a D91F adc r29,r25 798 004c 20E0 ldi r18,0 GAS LISTING /tmp/cc60iCvq.s page 15 799 004e 30E0 ldi r19,0 800 0050 80E0 ldi r24,0 801 0052 90E0 ldi r25,0 802 .L73: 803 0054 2017 cp r18,r16 804 0056 3107 cpc r19,r17 805 0058 04F4 brge .L72 806 005a 4991 ld r20,Y+ 807 005c 2F5F subi r18,-1 808 005e 3F4F sbci r19,-1 809 0060 4F3F cpi r20,lo8(-1) 810 0062 01F0 breq .L73 811 0064 C901 movw r24,r18 812 0066 00C0 rjmp .L73 813 .L76: 814 0068 8FEF ldi r24,lo8(-1) 815 006a 9FEF ldi r25,lo8(-1) 816 006c 00C0 rjmp .L72 817 .L77: 818 006e 80E0 ldi r24,0 819 0070 90E0 ldi r25,0 820 .L72: 821 /* epilogue start */ 822 0072 DF91 pop r29 823 0074 CF91 pop r28 824 0076 1F91 pop r17 825 0078 0F91 pop r16 826 007a FF90 pop r15 827 007c EF90 pop r14 828 007e 0895 ret 829 .size SpiAt45dFlashUsed, .-SpiAt45dFlashUsed 830 .section .text.SpiAt45dFlashRead,"ax",@progbits 831 .type SpiAt45dFlashRead, @function 832 SpiAt45dFlashRead: 833 0000 CF92 push r12 834 0002 DF92 push r13 835 0004 EF92 push r14 836 0006 FF92 push r15 837 0008 0F93 push r16 838 000a 1F93 push r17 839 000c CF93 push r28 840 000e DF93 push r29 841 /* prologue: function */ 842 /* frame size = 0 */ 843 /* stack size = 8 */ 844 .L__stack_usage = 8 845 0010 EA01 movw r28,r20 846 0012 7901 movw r14,r18 847 0014 0115 cp r16,__zero_reg__ 848 0016 1105 cpc r17,__zero_reg__ 849 0018 01F0 breq .L84 850 001a FC01 movw r30,r24 851 001c C280 ldd r12,Z+2 852 001e D380 ldd r13,Z+3 853 0020 57FF sbrs r21,7 854 0022 00C0 rjmp .L83 855 0024 2481 ldd r18,Z+4 GAS LISTING /tmp/cc60iCvq.s page 16 856 0026 3581 ldd r19,Z+5 857 0028 C20F add r28,r18 858 002a D31F adc r29,r19 859 .L83: 860 002c 40E0 ldi r20,0 861 002e 0E94 0000 call At45dFlashLoadUnit 862 0032 87FD sbrc r24,7 863 0034 00C0 rjmp .L85 864 0036 E82F mov r30,r24 865 0038 EE0F lsl r30 866 003a FF0B sbc r31,r31 867 003c EC0D add r30,r12 868 003e FD1D adc r31,r13 869 0040 6585 ldd r22,Z+13 870 0042 7685 ldd r23,Z+14 871 0044 6C0F add r22,r28 872 0046 7D1F adc r23,r29 873 0048 A801 movw r20,r16 874 004a C701 movw r24,r14 875 004c 0E94 0000 call memcpy 876 .L84: 877 0050 80E0 ldi r24,0 878 0052 90E0 ldi r25,0 879 0054 00C0 rjmp .L82 880 .L85: 881 0056 8FEF ldi r24,lo8(-1) 882 0058 9FEF ldi r25,lo8(-1) 883 .L82: 884 /* epilogue start */ 885 005a DF91 pop r29 886 005c CF91 pop r28 887 005e 1F91 pop r17 888 0060 0F91 pop r16 889 0062 FF90 pop r15 890 0064 EF90 pop r14 891 0066 DF90 pop r13 892 0068 CF90 pop r12 893 006a 0895 ret 894 .size SpiAt45dFlashRead, .-SpiAt45dFlashRead 895 .section .text.SpiAt45dFlashCompare,"ax",@progbits 896 .type SpiAt45dFlashCompare, @function 897 SpiAt45dFlashCompare: 898 0000 CF92 push r12 899 0002 DF92 push r13 900 0004 EF92 push r14 901 0006 FF92 push r15 902 0008 0F93 push r16 903 000a 1F93 push r17 904 000c CF93 push r28 905 000e DF93 push r29 906 /* prologue: function */ 907 /* frame size = 0 */ 908 /* stack size = 8 */ 909 .L__stack_usage = 8 910 0010 EA01 movw r28,r20 911 0012 7901 movw r14,r18 912 0014 0115 cp r16,__zero_reg__ GAS LISTING /tmp/cc60iCvq.s page 17 913 0016 1105 cpc r17,__zero_reg__ 914 0018 01F4 brne .L87 915 .L90: 916 001a 80E0 ldi r24,0 917 001c 90E0 ldi r25,0 918 001e 00C0 rjmp .L88 919 .L87: 920 0020 FC01 movw r30,r24 921 0022 C280 ldd r12,Z+2 922 0024 D380 ldd r13,Z+3 923 0026 57FF sbrs r21,7 924 0028 00C0 rjmp .L89 925 002a 2481 ldd r18,Z+4 926 002c 3581 ldd r19,Z+5 927 002e C20F add r28,r18 928 0030 D31F adc r29,r19 929 .L89: 930 0032 40E0 ldi r20,0 931 0034 0E94 0000 call At45dFlashLoadUnit 932 0038 87FD sbrc r24,7 933 003a 00C0 rjmp .L91 934 003c E82F mov r30,r24 935 003e EE0F lsl r30 936 0040 FF0B sbc r31,r31 937 0042 EC0D add r30,r12 938 0044 FD1D adc r31,r13 939 0046 8585 ldd r24,Z+13 940 0048 9685 ldd r25,Z+14 941 004a A801 movw r20,r16 942 004c B701 movw r22,r14 943 004e 8C0F add r24,r28 944 0050 9D1F adc r25,r29 945 0052 0E94 0000 call memcmp 946 0056 892B or r24,r25 947 0058 01F0 breq .L90 948 .L91: 949 005a 8FEF ldi r24,lo8(-1) 950 005c 9FEF ldi r25,lo8(-1) 951 .L88: 952 /* epilogue start */ 953 005e DF91 pop r29 954 0060 CF91 pop r28 955 0062 1F91 pop r17 956 0064 0F91 pop r16 957 0066 FF90 pop r15 958 0068 EF90 pop r14 959 006a DF90 pop r13 960 006c CF90 pop r12 961 006e 0895 ret 962 .size SpiAt45dFlashCompare, .-SpiAt45dFlashCompare 963 .section .text.SpiAt45dFlashWrite,"ax",@progbits 964 .type SpiAt45dFlashWrite, @function 965 SpiAt45dFlashWrite: 966 0000 8F92 push r8 967 0002 9F92 push r9 968 0004 AF92 push r10 969 0006 BF92 push r11 GAS LISTING /tmp/cc60iCvq.s page 18 970 0008 CF92 push r12 971 000a DF92 push r13 972 000c EF92 push r14 973 000e FF92 push r15 974 0010 0F93 push r16 975 0012 1F93 push r17 976 0014 CF93 push r28 977 0016 DF93 push r29 978 /* prologue: function */ 979 /* frame size = 0 */ 980 /* stack size = 12 */ 981 .L__stack_usage = 12 982 0018 7C01 movw r14,r24 983 001a 6A01 movw r12,r20 984 001c 4901 movw r8,r18 985 001e 0115 cp r16,__zero_reg__ 986 0020 1105 cpc r17,__zero_reg__ 987 0022 01F0 breq .L98 988 0024 FC01 movw r30,r24 989 0026 A280 ldd r10,Z+2 990 0028 B380 ldd r11,Z+3 991 002a 57FF sbrs r21,7 992 002c 00C0 rjmp .L97 993 002e 8481 ldd r24,Z+4 994 0030 9581 ldd r25,Z+5 995 0032 C80E add r12,r24 996 0034 D91E adc r13,r25 997 .L97: 998 0036 41E0 ldi r20,lo8(1) 999 0038 C701 movw r24,r14 1000 003a 0E94 0000 call At45dFlashLoadUnit 1001 003e 87FD sbrc r24,7 1002 0040 00C0 rjmp .L99 1003 0042 C82F mov r28,r24 1004 0044 CC0F lsl r28 1005 0046 DD0B sbc r29,r29 1006 0048 F501 movw r30,r10 1007 004a EC0F add r30,r28 1008 004c FD1F adc r31,r29 1009 004e 8585 ldd r24,Z+13 1010 0050 9685 ldd r25,Z+14 1011 0052 A801 movw r20,r16 1012 0054 B401 movw r22,r8 1013 0056 8C0D add r24,r12 1014 0058 9D1D adc r25,r13 1015 005a 0E94 0000 call memcpy 1016 005e F701 movw r30,r14 1017 0060 8281 ldd r24,Z+2 1018 0062 9381 ldd r25,Z+3 1019 0064 C80F add r28,r24 1020 0066 D91F adc r29,r25 1021 0068 2E81 ldd r18,Y+6 1022 006a 3F81 ldd r19,Y+7 1023 006c 2150 subi r18,1 1024 006e 3109 sbc r19,__zero_reg__ 1025 0070 3F83 std Y+7,r19 1026 0072 2E83 std Y+6,r18 GAS LISTING /tmp/cc60iCvq.s page 19 1027 0074 0A96 adiw r24,10 1028 0076 0E94 0000 call NutEventPost 1029 .L98: 1030 007a 80E0 ldi r24,0 1031 007c 90E0 ldi r25,0 1032 007e 00C0 rjmp .L96 1033 .L99: 1034 0080 8FEF ldi r24,lo8(-1) 1035 0082 9FEF ldi r25,lo8(-1) 1036 .L96: 1037 /* epilogue start */ 1038 0084 DF91 pop r29 1039 0086 CF91 pop r28 1040 0088 1F91 pop r17 1041 008a 0F91 pop r16 1042 008c FF90 pop r15 1043 008e EF90 pop r14 1044 0090 DF90 pop r13 1045 0092 CF90 pop r12 1046 0094 BF90 pop r11 1047 0096 AF90 pop r10 1048 0098 9F90 pop r9 1049 009a 8F90 pop r8 1050 009c 0895 ret 1051 .size SpiAt45dFlashWrite, .-SpiAt45dFlashWrite 1052 .section .text.SpiAt45dFlashCopy,"ax",@progbits 1053 .type SpiAt45dFlashCopy, @function 1054 SpiAt45dFlashCopy: 1055 0000 EF92 push r14 1056 0002 FF92 push r15 1057 0004 0F93 push r16 1058 0006 1F93 push r17 1059 0008 CF93 push r28 1060 000a DF93 push r29 1061 /* prologue: function */ 1062 /* frame size = 0 */ 1063 /* stack size = 6 */ 1064 .L__stack_usage = 6 1065 000c 8C01 movw r16,r24 1066 000e 7A01 movw r14,r20 1067 0010 6417 cp r22,r20 1068 0012 7507 cpc r23,r21 1069 0014 01F4 brne .L101 1070 0016 41E0 ldi r20,lo8(1) 1071 0018 0E94 0000 call At45dFlashLoadUnit 1072 001c 87FF sbrs r24,7 1073 001e 00C0 rjmp .L102 1074 .L105: 1075 0020 8FEF ldi r24,lo8(-1) 1076 0022 9FEF ldi r25,lo8(-1) 1077 0024 00C0 rjmp .L103 1078 .L101: 1079 0026 FC01 movw r30,r24 1080 0028 C281 ldd r28,Z+2 1081 002a D381 ldd r29,Z+3 1082 002c 8881 ld r24,Y 1083 002e 9981 ldd r25,Y+1 GAS LISTING /tmp/cc60iCvq.s page 20 1084 0030 4817 cp r20,r24 1085 0032 5907 cpc r21,r25 1086 0034 01F4 brne .L104 1087 0036 8E81 ldd r24,Y+6 1088 0038 9F81 ldd r25,Y+7 1089 003a 892B or r24,r25 1090 003c 01F4 brne .L105 1091 003e 8FEF ldi r24,lo8(-1) 1092 0040 9FEF ldi r25,lo8(-1) 1093 0042 9983 std Y+1,r25 1094 0044 8883 st Y,r24 1095 .L104: 1096 0046 8A81 ldd r24,Y+2 1097 0048 9B81 ldd r25,Y+3 1098 004a E816 cp r14,r24 1099 004c F906 cpc r15,r25 1100 004e 01F4 brne .L106 1101 0050 8885 ldd r24,Y+8 1102 0052 9985 ldd r25,Y+9 1103 0054 892B or r24,r25 1104 0056 01F4 brne .L105 1105 0058 8FEF ldi r24,lo8(-1) 1106 005a 9FEF ldi r25,lo8(-1) 1107 005c 9B83 std Y+3,r25 1108 005e 8A83 std Y+2,r24 1109 .L106: 1110 0060 41E0 ldi r20,lo8(1) 1111 0062 C801 movw r24,r16 1112 0064 0E94 0000 call At45dFlashLoadUnit 1113 0068 87FD sbrc r24,7 1114 006a 00C0 rjmp .L105 1115 006c 282F mov r18,r24 1116 006e 220F lsl r18 1117 0070 330B sbc r19,r19 1118 0072 C20F add r28,r18 1119 0074 D31F adc r29,r19 1120 0076 F982 std Y+1,r15 1121 0078 E882 st Y,r14 1122 .L102: 1123 007a F801 movw r30,r16 1124 007c 4281 ldd r20,Z+2 1125 007e 5381 ldd r21,Z+3 1126 0080 E82F mov r30,r24 1127 0082 EE0F lsl r30 1128 0084 FF0B sbc r31,r31 1129 0086 E40F add r30,r20 1130 0088 F51F adc r31,r21 1131 008a 2681 ldd r18,Z+6 1132 008c 3781 ldd r19,Z+7 1133 008e 2150 subi r18,1 1134 0090 3109 sbc r19,__zero_reg__ 1135 0092 3783 std Z+7,r19 1136 0094 2683 std Z+6,r18 1137 0096 CA01 movw r24,r20 1138 0098 0A96 adiw r24,10 1139 009a 0E94 0000 call NutEventPost 1140 009e 80E0 ldi r24,0 GAS LISTING /tmp/cc60iCvq.s page 21 1141 00a0 90E0 ldi r25,0 1142 .L103: 1143 /* epilogue start */ 1144 00a2 DF91 pop r29 1145 00a4 CF91 pop r28 1146 00a6 1F91 pop r17 1147 00a8 0F91 pop r16 1148 00aa FF90 pop r15 1149 00ac EF90 pop r14 1150 00ae 0895 ret 1151 .size SpiAt45dFlashCopy, .-SpiAt45dFlashCopy 1152 .local bnxt.2710 1153 .comm bnxt.2710,1,1 1154 .global flashAt45d3 1155 .data 1156 .type flashAt45d3, @object 1157 .size flashAt45d3, 32 1158 flashAt45d3: 1159 0000 0000 .word nodeAt45d3 1160 0002 0000 .word 0 1161 0004 0000 .word 0 1162 0006 0000 .word 0 1163 0008 0000 .word 0 1164 000a 0100 .word 1 1165 000c 0000 .word gs(SpiAt45dFlashInit) 1166 000e 0000 .word gs(SpiAt45dFlashExit) 1167 0010 0000 .word gs(SpiAt45dFlashCheck) 1168 0012 0000 .word gs(SpiAt45dFlashRead) 1169 0014 0000 .word gs(SpiAt45dFlashCompare) 1170 0016 0000 .word gs(SpiAt45dFlashUsed) 1171 0018 0000 .word gs(SpiAt45dFlashWrite) 1172 001a 0000 .word gs(SpiAt45dFlashCopy) 1173 001c 0000 .word gs(SpiAt45dFlashCommit) 1174 001e 0000 .word gs(SpiAt45dFlashErase) 1175 .global flashAt45d2 1176 .type flashAt45d2, @object 1177 .size flashAt45d2, 32 1178 flashAt45d2: 1179 0020 0000 .word nodeAt45d2 1180 0022 0000 .word 0 1181 0024 0000 .word 0 1182 0026 0000 .word 0 1183 0028 0000 .word 0 1184 002a 0100 .word 1 1185 002c 0000 .word gs(SpiAt45dFlashInit) 1186 002e 0000 .word gs(SpiAt45dFlashExit) 1187 0030 0000 .word gs(SpiAt45dFlashCheck) 1188 0032 0000 .word gs(SpiAt45dFlashRead) 1189 0034 0000 .word gs(SpiAt45dFlashCompare) 1190 0036 0000 .word gs(SpiAt45dFlashUsed) 1191 0038 0000 .word gs(SpiAt45dFlashWrite) 1192 003a 0000 .word gs(SpiAt45dFlashCopy) 1193 003c 0000 .word gs(SpiAt45dFlashCommit) 1194 003e 0000 .word gs(SpiAt45dFlashErase) 1195 .global flashAt45d1 1196 .type flashAt45d1, @object 1197 .size flashAt45d1, 32 GAS LISTING /tmp/cc60iCvq.s page 22 1198 flashAt45d1: 1199 0040 0000 .word nodeAt45d1 1200 0042 0000 .word 0 1201 0044 0000 .word 0 1202 0046 0000 .word 0 1203 0048 0000 .word 0 1204 004a 0100 .word 1 1205 004c 0000 .word gs(SpiAt45dFlashInit) 1206 004e 0000 .word gs(SpiAt45dFlashExit) 1207 0050 0000 .word gs(SpiAt45dFlashCheck) 1208 0052 0000 .word gs(SpiAt45dFlashRead) 1209 0054 0000 .word gs(SpiAt45dFlashCompare) 1210 0056 0000 .word gs(SpiAt45dFlashUsed) 1211 0058 0000 .word gs(SpiAt45dFlashWrite) 1212 005a 0000 .word gs(SpiAt45dFlashCopy) 1213 005c 0000 .word gs(SpiAt45dFlashCommit) 1214 005e 0000 .word gs(SpiAt45dFlashErase) 1215 .global flashAt45d0 1216 .type flashAt45d0, @object 1217 .size flashAt45d0, 32 1218 flashAt45d0: 1219 0060 0000 .word nodeAt45d0 1220 0062 0000 .word 0 1221 0064 0000 .word 0 1222 0066 0000 .word 0 1223 0068 0000 .word 0 1224 006a 0100 .word 1 1225 006c 0000 .word gs(SpiAt45dFlashInit) 1226 006e 0000 .word gs(SpiAt45dFlashExit) 1227 0070 0000 .word gs(SpiAt45dFlashCheck) 1228 0072 0000 .word gs(SpiAt45dFlashRead) 1229 0074 0000 .word gs(SpiAt45dFlashCompare) 1230 0076 0000 .word gs(SpiAt45dFlashUsed) 1231 0078 0000 .word gs(SpiAt45dFlashWrite) 1232 007a 0000 .word gs(SpiAt45dFlashCopy) 1233 007c 0000 .word gs(SpiAt45dFlashCommit) 1234 007e 0000 .word gs(SpiAt45dFlashErase) 1235 .ident "GCC: (GNU) 5.3.0" 1236 .global __do_copy_data 1237 .global __do_clear_bss GAS LISTING /tmp/cc60iCvq.s page 23 DEFINED SYMBOLS *ABS*:0000000000000000 spi_flash_at45d.c /tmp/cc60iCvq.s:2 *ABS*:000000000000003e __SP_H__ /tmp/cc60iCvq.s:3 *ABS*:000000000000003d __SP_L__ /tmp/cc60iCvq.s:4 *ABS*:000000000000003f __SREG__ /tmp/cc60iCvq.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/cc60iCvq.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/cc60iCvq.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/cc60iCvq.s:10 .text.SpiAt45dFlashCheck:0000000000000000 SpiAt45dFlashCheck /tmp/cc60iCvq.s:21 .text.SpiAt45dFlashErase:0000000000000000 SpiAt45dFlashErase /tmp/cc60iCvq.s:166 .text.At45dFlashSaveUnit:0000000000000000 At45dFlashSaveUnit /tmp/cc60iCvq.s:302 .text.SpiAt45dFlashCommit:0000000000000000 SpiAt45dFlashCommit /tmp/cc60iCvq.s:339 .text.SpiAt45dFlashExit:0000000000000000 SpiAt45dFlashExit /tmp/cc60iCvq.s:370 .text.SpiAt45dFlashInit:0000000000000000 SpiAt45dFlashInit /tmp/cc60iCvq.s:455 .text.At45dFlashLoadUnit:0000000000000000 At45dFlashLoadUnit .bss:0000000000000000 bnxt.2710 /tmp/cc60iCvq.s:754 .text.SpiAt45dFlashUsed:0000000000000000 SpiAt45dFlashUsed /tmp/cc60iCvq.s:832 .text.SpiAt45dFlashRead:0000000000000000 SpiAt45dFlashRead /tmp/cc60iCvq.s:897 .text.SpiAt45dFlashCompare:0000000000000000 SpiAt45dFlashCompare /tmp/cc60iCvq.s:965 .text.SpiAt45dFlashWrite:0000000000000000 SpiAt45dFlashWrite /tmp/cc60iCvq.s:1054 .text.SpiAt45dFlashCopy:0000000000000000 SpiAt45dFlashCopy /tmp/cc60iCvq.s:1158 .data:0000000000000000 flashAt45d3 /tmp/cc60iCvq.s:1178 .data:0000000000000020 flashAt45d2 /tmp/cc60iCvq.s:1198 .data:0000000000000040 flashAt45d1 /tmp/cc60iCvq.s:1218 .data:0000000000000060 flashAt45d0 UNDEFINED SYMBOLS At45dNodeLock At45dNodeCommand At45dNodeWaitReady At45dNodeUnlock At45dNodeTransfer free At45dNodeProbe calloc malloc NutEventPost NutEventWait memcpy memcmp nodeAt45d3 nodeAt45d2 nodeAt45d1 nodeAt45d0 __do_copy_data __do_clear_bss