diff options
author | Jenna Fox <a@creativepony.com> | 2012-09-25 09:32:31 +1000 |
---|---|---|
committer | Jenna Fox <a@creativepony.com> | 2012-09-25 09:32:31 +1000 |
commit | ae4a95e323175420625b46b64a963187956187db (patch) | |
tree | 3c74b203fe3f79fad9275358f1811f7deaabf6f2 /firmware/main.c.lst | |
parent | 2b80821ecbada3d3729d7e29080ee9b0e654e558 (diff) | |
download | micronucleus-ae4a95e323175420625b46b64a963187956187db.tar.gz micronucleus-ae4a95e323175420625b46b64a963187956187db.tar.bz2 micronucleus-ae4a95e323175420625b46b64a963187956187db.zip |
Switched to new digistump vid/pid, removed string manufacturer and product name to try shave some more bytes off
also adding better comments to firmware/main.c for future hackers
Diffstat (limited to 'firmware/main.c.lst')
-rw-r--r-- | firmware/main.c.lst | 1052 |
1 files changed, 499 insertions, 553 deletions
diff --git a/firmware/main.c.lst b/firmware/main.c.lst index 88183db..3cdf41b 100644 --- a/firmware/main.c.lst +++ b/firmware/main.c.lst @@ -1,4 +1,4 @@ -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 1 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 1 1 .file "main.c" @@ -16,7 +16,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 13 0000 81E0 ldi r24,lo8(1) 14 0002 8093 0000 sts didWriteSomething,r24 15 /* #APP */ - 16 ; 128 "main.c" 1 + 16 ; 129 "main.c" 1 17 0006 F894 cli 18 ; 0 "" 2 19 /* #NOAPP */ @@ -25,7 +25,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 22 0010 3297 sbiw r30,2 23 0012 85E0 ldi r24,lo8(5) 24 /* #APP */ - 25 ; 129 "main.c" 1 + 25 ; 130 "main.c" 1 26 0014 8093 5700 sts 87, r24 27 0018 E895 spm 28 @@ -36,7 +36,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 33 001c 00FC sbrc __tmp_reg__,0 34 001e 00C0 rjmp .L2 35 /* #APP */ - 36 ; 131 "main.c" 1 + 36 ; 132 "main.c" 1 37 0020 7894 sei 38 ; 0 "" 2 39 /* epilogue start */ @@ -58,7 +58,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 55 0038 87E1 ldi r24,hi8(5948) 56 003a EC33 cpi r30,lo8(5948) 57 003c F807 cpc r31,r24 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 2 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 2 58 003e 01F4 brne .L7 @@ -82,20 +82,20 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 76 0066 3BEC ldi r19,hi8(-13409) 77 .L8: 78 /* #APP */ - 79 ; 165 "main.c" 1 + 79 ; 166 "main.c" 1 80 0068 F894 cli 81 ; 0 "" 2 82 /* #NOAPP */ 83 006a 81E0 ldi r24,lo8(1) 84 /* #APP */ - 85 ; 166 "main.c" 1 + 85 ; 167 "main.c" 1 86 006c 0901 movw r0, r18 87 006e 8093 5700 sts 87, r24 88 0072 E895 spm 89 0074 1124 clr r1 90 91 ; 0 "" 2 - 92 ; 167 "main.c" 1 + 92 ; 168 "main.c" 1 93 0076 7894 sei 94 ; 0 "" 2 95 /* #NOAPP */ @@ -107,7 +107,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 101 .L5: 102 0084 81E1 ldi r24,lo8(17) 103 /* #APP */ - 104 ; 163 "main.c" 1 + 104 ; 164 "main.c" 1 105 0086 8093 5700 sts 87, r24 106 008a E895 spm 107 @@ -118,7 +118,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 112 .type fillFlashWithVectors, @function 113 fillFlashWithVectors: 114 008e CF93 push r28 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 3 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 3 115 0090 DF93 push r29 @@ -149,16 +149,16 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 140 /* prologue: naked */ 141 /* frame size = 0 */ 142 /* #APP */ - 143 ; 263 "main.c" 1 + 143 ; 264 "main.c" 1 144 0000 00EB ldi r16, 0xB0 145 ; 0 "" 2 - 146 ; 264 "main.c" 1 + 146 ; 265 "main.c" 1 147 0002 0F93 push r16 148 ; 0 "" 2 - 149 ; 265 "main.c" 1 + 149 ; 266 "main.c" 1 150 0004 07E0 ldi r16, 0x07 151 ; 0 "" 2 - 152 ; 266 "main.c" 1 + 152 ; 267 "main.c" 1 153 0006 0F93 push r16 154 ; 0 "" 2 155 /* epilogue start */ @@ -172,13 +172,13 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 163 /* frame size = 0 */ 164 00b4 88E1 ldi r24,lo8(24) 165 /* #APP */ - 166 ; 333 "main.c" 1 + 166 ; 334 "main.c" 1 167 00b6 0FB6 in __tmp_reg__, __SREG__ 168 00b8 F894 cli 169 00ba 81BD out 33, r24 170 00bc 11BC out 33, __zero_reg__ 171 00be 0FBE out __SREG__,__tmp_reg__ -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 4 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 4 172 @@ -187,7 +187,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 175 00c0 E0E0 ldi r30,lo8(0) 176 00c2 F0E0 ldi r31,hi8(0) 177 /* #APP */ - 178 ; 284 "main.c" 1 + 178 ; 285 "main.c" 1 179 00c4 8591 lpm r24, Z+ 180 00c6 9491 lpm r25, Z 181 @@ -199,7 +199,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 187 00ce E4E0 ldi r30,lo8(4) 188 00d0 F0E0 ldi r31,hi8(4) 189 /* #APP */ - 190 ; 285 "main.c" 1 + 190 ; 286 "main.c" 1 191 00d2 8591 lpm r24, Z+ 192 00d4 9491 lpm r25, Z 193 @@ -233,16 +233,16 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 221 00fe 01F4 brne .L18 222 0100 BB98 cbi 55-32,3 223 /* #APP */ - 224 ; 277 "main.c" 1 + 224 ; 278 "main.c" 1 225 0102 7894 sei 226 ; 0 "" 2 227 /* #NOAPP */ 228 0104 EE24 clr r14 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 5 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 5 229 0106 FF24 clr r15 - 230 .L74: + 230 .L72: 231 0108 1091 0000 lds r17,usbRxLen 232 010c 1350 subi r17,lo8(-(-3)) 233 010e 17FD sbrc r17,7 @@ -298,13 +298,13 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 283 0184 9230 cpi r25,lo8(2) 284 0186 01F4 brne .L28 285 0188 8160 ori r24,lo8(1) -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 6 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 6 - 286 018a 00C0 rjmp .L78 + 286 018a 00C0 rjmp .L76 287 .L28: 288 018c 8460 ori r24,lo8(4) - 289 .L78: + 289 .L76: 290 018e 8093 0000 sts events,r24 291 0192 20E0 ldi r18,lo8(0) 292 0194 00C0 rjmp .L24 @@ -322,7 +322,7 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 304 01ac 9530 cpi r25,lo8(5) 305 01ae 01F4 brne .L31 306 01b0 8093 0000 sts usbNewDeviceAddr,r24 - 307 01b4 00C0 rjmp .L41 + 307 01b4 00C0 rjmp .L39 308 .L31: 309 01b6 9630 cpi r25,lo8(6) 310 01b8 01F4 brne .L32 @@ -331,13 +331,13 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 313 01be 01F4 brne .L33 314 01c0 80E0 ldi r24,lo8(usbDescriptorDevice) 315 01c2 90E0 ldi r25,hi8(usbDescriptorDevice) - 316 01c4 00C0 rjmp .L76 + 316 01c4 00C0 rjmp .L74 317 .L33: 318 01c6 8230 cpi r24,lo8(2) 319 01c8 01F4 brne .L35 320 01ca 80E0 ldi r24,lo8(usbDescriptorConfiguration) 321 01cc 90E0 ldi r25,hi8(usbDescriptorConfiguration) - 322 .L76: + 322 .L74: 323 01ce 9093 0000 sts (usbMsgPtr)+1,r25 324 01d2 8093 0000 sts usbMsgPtr,r24 325 01d6 22E1 ldi r18,lo8(18) @@ -347,553 +347,499 @@ GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 329 01dc 01F4 brne .L36 330 01de 8A81 ldd r24,Y+2 331 01e0 8823 tst r24 - 332 01e2 01F4 brne .L37 + 332 01e2 01F4 brne .L36 333 01e4 80E0 ldi r24,lo8(usbDescriptorString0) 334 01e6 90E0 ldi r25,hi8(usbDescriptorString0) 335 01e8 9093 0000 sts (usbMsgPtr)+1,r25 336 01ec 8093 0000 sts usbMsgPtr,r24 337 01f0 24E0 ldi r18,lo8(4) 338 01f2 00C0 rjmp .L34 - 339 .L37: - 340 01f4 8130 cpi r24,lo8(1) - 341 01f6 01F4 brne .L38 - 342 01f8 80E0 ldi r24,lo8(usbDescriptorStringVendor) -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 7 - - - 343 01fa 90E0 ldi r25,hi8(usbDescriptorStringVendor) - 344 01fc 9093 0000 sts (usbMsgPtr)+1,r25 - 345 0200 8093 0000 sts usbMsgPtr,r24 - 346 0204 22E2 ldi r18,lo8(34) - 347 0206 00C0 rjmp .L34 - 348 .L38: - 349 0208 8230 cpi r24,lo8(2) - 350 020a 01F4 brne .L36 - 351 020c 80E0 ldi r24,lo8(usbDescriptorStringDevice) - 352 020e 90E0 ldi r25,hi8(usbDescriptorStringDevice) - 353 0210 9093 0000 sts (usbMsgPtr)+1,r25 - 354 0214 8093 0000 sts usbMsgPtr,r24 - 355 0218 2CE0 ldi r18,lo8(12) - 356 021a 00C0 rjmp .L34 - 357 .L36: - 358 021c 20E0 ldi r18,lo8(0) - 359 .L34: - 360 021e 80E4 ldi r24,lo8(64) - 361 0220 8093 0000 sts usbMsgFlags,r24 - 362 0224 00C0 rjmp .L24 - 363 .L32: - 364 0226 9830 cpi r25,lo8(8) - 365 0228 01F4 brne .L39 - 366 022a 80E0 ldi r24,lo8(usbConfiguration) - 367 022c 90E0 ldi r25,hi8(usbConfiguration) - 368 022e 00C0 rjmp .L77 - 369 .L39: - 370 0230 9930 cpi r25,lo8(9) - 371 0232 01F4 brne .L40 - 372 0234 8093 0000 sts usbConfiguration,r24 - 373 0238 00C0 rjmp .L41 - 374 .L40: - 375 023a 9A30 cpi r25,lo8(10) - 376 023c 01F4 brne .L41 - 377 023e 80E0 ldi r24,lo8(usbTxBuf+9) - 378 0240 90E0 ldi r25,hi8(usbTxBuf+9) - 379 .L77: - 380 0242 21E0 ldi r18,lo8(1) - 381 0244 00C0 rjmp .L30 - 382 .L41: - 383 0246 80E0 ldi r24,lo8(usbTxBuf+9) - 384 0248 90E0 ldi r25,hi8(usbTxBuf+9) - 385 024a 20E0 ldi r18,lo8(0) - 386 .L30: - 387 024c 9093 0000 sts (usbMsgPtr)+1,r25 - 388 0250 8093 0000 sts usbMsgPtr,r24 - 389 0254 00C0 rjmp .L24 - 390 .L26: - 391 0256 9E81 ldd r25,Y+6 - 392 .L27: - 393 0258 80E8 ldi r24,lo8(-128) - 394 025a 8093 0000 sts usbMsgFlags,r24 - 395 025e 00C0 rjmp .L42 - 396 .L24: - 397 0260 8F81 ldd r24,Y+7 - 398 0262 8823 tst r24 - 399 0264 01F4 brne .L43 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 8 - - - 400 0266 9E81 ldd r25,Y+6 - 401 0268 9217 cp r25,r18 - 402 026a 00F0 brlo .L42 - 403 .L43: - 404 026c 922F mov r25,r18 - 405 .L42: - 406 026e 9093 0000 sts usbMsgLen,r25 - 407 0272 00C0 rjmp .L21 - 408 .L20: - 409 0274 8091 0000 lds r24,usbMsgFlags - 410 0278 87FF sbrs r24,7 - 411 027a 00C0 rjmp .L21 - 412 027c 8091 0000 lds r24,writeLength - 413 0280 811B sub r24,r17 - 414 0282 8093 0000 sts writeLength,r24 - 415 .L48: - 416 0286 8091 0000 lds r24,currentAddress - 417 028a 9091 0000 lds r25,(currentAddress)+1 - 418 028e 0097 sbiw r24,0 - 419 0290 01F4 brne .L44 - 420 0292 8881 ld r24,Y - 421 0294 9981 ldd r25,Y+1 - 422 0296 9093 0000 sts (vectorTemp)+1,r25 - 423 029a 8093 0000 sts vectorTemp,r24 - 424 029e 00C0 rjmp .L45 - 425 .L44: - 426 02a0 8430 cpi r24,4 - 427 02a2 9105 cpc r25,__zero_reg__ - 428 02a4 01F4 brne .L46 - 429 02a6 8881 ld r24,Y - 430 02a8 9981 ldd r25,Y+1 - 431 02aa 9093 0000 sts (vectorTemp+2)+1,r25 - 432 02ae 8093 0000 sts vectorTemp+2,r24 - 433 02b2 00C0 rjmp .L45 - 434 .L46: - 435 02b4 8A53 subi r24,lo8(5946) - 436 02b6 9741 sbci r25,hi8(5946) - 437 02b8 00F0 brlo .L45 - 438 02ba 81E1 ldi r24,lo8(17) - 439 /* #APP */ - 440 ; 240 "main.c" 1 - 441 02bc 8093 5700 sts 87, r24 - 442 02c0 E895 spm - 443 - 444 ; 0 "" 2 - 445 /* #NOAPP */ - 446 02c2 00C0 rjmp .L47 - 447 .L45: - 448 02c4 8881 ld r24,Y - 449 02c6 9981 ldd r25,Y+1 - 450 02c8 00D0 rcall writeWordToPageBuffer - 451 02ca 1250 subi r17,lo8(-(-2)) - 452 02cc 01F0 breq .L47 - 453 02ce 2296 adiw r28,2 - 454 02d0 00C0 rjmp .L48 - 455 .L47: - 456 02d2 8091 0000 lds r24,writeLength -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 9 - - - 457 02d6 8823 tst r24 - 458 02d8 01F4 brne .L21 - 459 02da 8091 0000 lds r24,events - 460 02de 8260 ori r24,lo8(2) - 461 02e0 8093 0000 sts events,r24 - 462 02e4 1092 0000 sts usbMsgLen,__zero_reg__ - 463 .L21: - 464 02e8 1092 0000 sts usbRxLen,__zero_reg__ - 465 .L19: - 466 02ec 8091 0000 lds r24,usbTxLen - 467 02f0 84FF sbrs r24,4 - 468 02f2 00C0 rjmp .L49 - 469 02f4 8091 0000 lds r24,usbMsgLen - 470 02f8 8F3F cpi r24,lo8(-1) - 471 02fa 01F0 breq .L49 - 472 02fc 182F mov r17,r24 - 473 02fe 8930 cpi r24,lo8(9) - 474 0300 00F0 brlo .L50 - 475 0302 18E0 ldi r17,lo8(8) - 476 .L50: - 477 0304 811B sub r24,r17 - 478 0306 8093 0000 sts usbMsgLen,r24 - 479 030a 8091 0000 lds r24,usbTxBuf - 480 030e 98E8 ldi r25,lo8(-120) - 481 0310 8927 eor r24,r25 - 482 0312 8093 0000 sts usbTxBuf,r24 - 483 0316 1123 tst r17 - 484 0318 01F0 breq .L51 - 485 031a E091 0000 lds r30,usbMsgPtr - 486 031e F091 0000 lds r31,(usbMsgPtr)+1 - 487 0322 8091 0000 lds r24,usbMsgFlags - 488 0326 86FF sbrs r24,6 - 489 0328 00C0 rjmp .L52 - 490 032a 912F mov r25,r17 - 491 032c A0E0 ldi r26,lo8(usbTxBuf+1) - 492 032e B0E0 ldi r27,hi8(usbTxBuf+1) - 493 .L53: - 494 /* #APP */ - 495 ; 504 "usbdrv/usbdrv.c" 1 - 496 0330 8491 lpm r24, Z - 497 - 498 ; 0 "" 2 - 499 /* #NOAPP */ - 500 0332 8D93 st X+,r24 - 501 0334 3196 adiw r30,1 - 502 0336 9150 subi r25,lo8(-(-1)) - 503 0338 01F4 brne .L53 - 504 033a 00C0 rjmp .L54 - 505 .L52: - 506 033c 912F mov r25,r17 - 507 033e A0E0 ldi r26,lo8(usbTxBuf+1) - 508 0340 B0E0 ldi r27,hi8(usbTxBuf+1) - 509 .L55: - 510 0342 8191 ld r24,Z+ - 511 0344 8D93 st X+,r24 - 512 0346 9150 subi r25,lo8(-(-1)) - 513 0348 01F4 brne .L55 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 10 - - - 514 .L54: - 515 034a F093 0000 sts (usbMsgPtr)+1,r31 - 516 034e E093 0000 sts usbMsgPtr,r30 - 517 .L51: - 518 0352 80E0 ldi r24,lo8(usbTxBuf+1) - 519 0354 90E0 ldi r25,hi8(usbTxBuf+1) - 520 0356 612F mov r22,r17 - 521 0358 00D0 rcall usbCrc16Append - 522 035a 612F mov r22,r17 - 523 035c 6C5F subi r22,lo8(-(4)) - 524 035e 6C30 cpi r22,lo8(12) - 525 0360 01F0 breq .L56 - 526 0362 8FEF ldi r24,lo8(-1) - 527 0364 8093 0000 sts usbMsgLen,r24 - 528 .L56: - 529 0368 6093 0000 sts usbTxLen,r22 - 530 .L49: - 531 036c 94E1 ldi r25,lo8(20) - 532 .L58: - 533 036e 86B3 in r24,54-32 - 534 0370 8871 andi r24,lo8(24) - 535 0372 01F4 brne .L57 - 536 0374 9150 subi r25,lo8(-(-1)) - 537 0376 01F4 brne .L58 - 538 0378 1092 0000 sts usbNewDeviceAddr,__zero_reg__ - 539 037c 1092 0000 sts usbDeviceAddr,__zero_reg__ - 540 .L57: - 541 0380 10E0 ldi r17,lo8(0) - 542 0382 9923 tst r25 - 543 0384 01F4 brne .L59 - 544 0386 11E0 ldi r17,lo8(1) - 545 .L59: - 546 0388 8091 0000 lds r24,wasReset.1564 - 547 038c 8117 cp r24,r17 - 548 038e 01F0 breq .L60 - 549 0390 1123 tst r17 - 550 0392 01F4 brne .L61 - 551 /* #APP */ - 552 ; 557 "usbdrv/usbdrv.c" 1 - 553 0394 F894 cli - 554 ; 0 "" 2 - 555 /* #NOAPP */ - 556 0396 00D0 rcall calibrateOscillator - 557 /* #APP */ - 558 ; 557 "usbdrv/usbdrv.c" 1 - 559 0398 7894 sei - 560 ; 0 "" 2 - 561 /* #NOAPP */ - 562 .L61: - 563 039a 1093 0000 sts wasReset.1564,r17 - 564 .L60: - 565 039e 8CE9 ldi r24,lo8(412) - 566 03a0 91E0 ldi r25,hi8(412) - 567 /* #APP */ - 568 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas - 569 03a2 0197 1: sbiw r24,1 - 570 03a4 01F4 brne 1b -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 11 - - - 571 ; 0 "" 2 - 572 /* #NOAPP */ - 573 03a6 8091 0000 lds r24,events - 574 03aa 8823 tst r24 - 575 03ac 01F0 breq .L62 - 576 03ae EE24 clr r14 - 577 03b0 FF24 clr r15 - 578 03b2 00C0 rjmp .L63 - 579 .L62: - 580 03b4 0894 sec - 581 03b6 E11C adc r14,__zero_reg__ - 582 03b8 F11C adc r15,__zero_reg__ - 583 .L63: - 584 03ba 182F mov r17,r24 - 585 03bc 80FF sbrs r24,0 - 586 03be 00C0 rjmp .L64 - 587 /* #APP */ - 588 ; 114 "main.c" 1 - 589 03c0 F894 cli - 590 ; 0 "" 2 - 591 /* #NOAPP */ - 592 03c2 E0E4 ldi r30,lo8(5952) - 593 03c4 F7E1 ldi r31,hi8(5952) - 594 .L66: - 595 03c6 E054 subi r30,lo8(-(-64)) - 596 03c8 F040 sbci r31,hi8(-(-64)) - 597 03ca 83E0 ldi r24,lo8(3) - 598 /* #APP */ - 599 ; 118 "main.c" 1 - 600 03cc 8093 5700 sts 87, r24 - 601 03d0 E895 spm - 602 - 603 ; 0 "" 2 - 604 /* #NOAPP */ - 605 .L65: - 606 03d2 07B6 in __tmp_reg__,87-32 - 607 03d4 00FC sbrc __tmp_reg__,0 - 608 03d6 00C0 rjmp .L65 - 609 03d8 3097 sbiw r30,0 - 610 03da 01F4 brne .L66 - 611 03dc 1092 0000 sts (currentAddress)+1,__zero_reg__ - 612 03e0 1092 0000 sts currentAddress,__zero_reg__ - 613 03e4 00D0 rcall fillFlashWithVectors - 614 /* #APP */ - 615 ; 123 "main.c" 1 - 616 03e6 7894 sei - 617 ; 0 "" 2 - 618 /* #NOAPP */ - 619 .L64: - 620 03e8 11FF sbrs r17,1 - 621 03ea 00C0 rjmp .L67 - 622 03ec 8AE3 ldi r24,lo8(8250) - 623 03ee 90E2 ldi r25,hi8(8250) - 624 /* #APP */ - 625 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas - 626 03f0 0197 1: sbiw r24,1 - 627 03f2 01F4 brne 1b -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 12 - - - 628 ; 0 "" 2 - 629 /* #NOAPP */ - 630 03f4 8091 0000 lds r24,currentAddress - 631 03f8 9091 0000 lds r25,(currentAddress)+1 - 632 03fc 8F73 andi r24,lo8(63) - 633 03fe 9070 andi r25,hi8(63) - 634 0400 892B or r24,r25 - 635 0402 01F0 breq .L68 - 636 0404 00D0 rcall fillFlashWithVectors - 637 0406 00C0 rjmp .L67 - 638 .L68: - 639 0408 00D0 rcall writeFlashPage - 640 .L67: - 641 040a 12FF sbrs r17,2 - 642 040c 00C0 rjmp .L69 - 643 040e 8091 0000 lds r24,didWriteSomething - 644 0412 8823 tst r24 - 645 0414 01F4 brne .L70 - 646 0416 00C0 rjmp .L71 - 647 .L72: - 648 0418 00D0 rcall fillFlashWithVectors - 649 .L70: - 650 041a 8091 0000 lds r24,currentAddress - 651 041e 9091 0000 lds r25,(currentAddress)+1 - 652 0422 8054 subi r24,lo8(5952) - 653 0424 9741 sbci r25,hi8(5952) - 654 0426 00F0 brlo .L72 + 339 .L36: + 340 01f4 20E0 ldi r18,lo8(0) + 341 .L34: + 342 01f6 80E4 ldi r24,lo8(64) +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 7 + + + 343 01f8 8093 0000 sts usbMsgFlags,r24 + 344 01fc 00C0 rjmp .L24 + 345 .L32: + 346 01fe 9830 cpi r25,lo8(8) + 347 0200 01F4 brne .L37 + 348 0202 80E0 ldi r24,lo8(usbConfiguration) + 349 0204 90E0 ldi r25,hi8(usbConfiguration) + 350 0206 00C0 rjmp .L75 + 351 .L37: + 352 0208 9930 cpi r25,lo8(9) + 353 020a 01F4 brne .L38 + 354 020c 8093 0000 sts usbConfiguration,r24 + 355 0210 00C0 rjmp .L39 + 356 .L38: + 357 0212 9A30 cpi r25,lo8(10) + 358 0214 01F4 brne .L39 + 359 0216 80E0 ldi r24,lo8(usbTxBuf+9) + 360 0218 90E0 ldi r25,hi8(usbTxBuf+9) + 361 .L75: + 362 021a 21E0 ldi r18,lo8(1) + 363 021c 00C0 rjmp .L30 + 364 .L39: + 365 021e 80E0 ldi r24,lo8(usbTxBuf+9) + 366 0220 90E0 ldi r25,hi8(usbTxBuf+9) + 367 0222 20E0 ldi r18,lo8(0) + 368 .L30: + 369 0224 9093 0000 sts (usbMsgPtr)+1,r25 + 370 0228 8093 0000 sts usbMsgPtr,r24 + 371 022c 00C0 rjmp .L24 + 372 .L26: + 373 022e 9E81 ldd r25,Y+6 + 374 .L27: + 375 0230 80E8 ldi r24,lo8(-128) + 376 0232 8093 0000 sts usbMsgFlags,r24 + 377 0236 00C0 rjmp .L40 + 378 .L24: + 379 0238 8F81 ldd r24,Y+7 + 380 023a 8823 tst r24 + 381 023c 01F4 brne .L41 + 382 023e 9E81 ldd r25,Y+6 + 383 0240 9217 cp r25,r18 + 384 0242 00F0 brlo .L40 + 385 .L41: + 386 0244 922F mov r25,r18 + 387 .L40: + 388 0246 9093 0000 sts usbMsgLen,r25 + 389 024a 00C0 rjmp .L21 + 390 .L20: + 391 024c 8091 0000 lds r24,usbMsgFlags + 392 0250 87FF sbrs r24,7 + 393 0252 00C0 rjmp .L21 + 394 0254 8091 0000 lds r24,writeLength + 395 0258 811B sub r24,r17 + 396 025a 8093 0000 sts writeLength,r24 + 397 .L46: + 398 025e 8091 0000 lds r24,currentAddress + 399 0262 9091 0000 lds r25,(currentAddress)+1 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 8 + + + 400 0266 0097 sbiw r24,0 + 401 0268 01F4 brne .L42 + 402 026a 8881 ld r24,Y + 403 026c 9981 ldd r25,Y+1 + 404 026e 9093 0000 sts (vectorTemp)+1,r25 + 405 0272 8093 0000 sts vectorTemp,r24 + 406 0276 00C0 rjmp .L43 + 407 .L42: + 408 0278 8430 cpi r24,4 + 409 027a 9105 cpc r25,__zero_reg__ + 410 027c 01F4 brne .L44 + 411 027e 8881 ld r24,Y + 412 0280 9981 ldd r25,Y+1 + 413 0282 9093 0000 sts (vectorTemp+2)+1,r25 + 414 0286 8093 0000 sts vectorTemp+2,r24 + 415 028a 00C0 rjmp .L43 + 416 .L44: + 417 028c 8A53 subi r24,lo8(5946) + 418 028e 9741 sbci r25,hi8(5946) + 419 0290 00F0 brlo .L43 + 420 0292 81E1 ldi r24,lo8(17) + 421 /* #APP */ + 422 ; 241 "main.c" 1 + 423 0294 8093 5700 sts 87, r24 + 424 0298 E895 spm + 425 + 426 ; 0 "" 2 + 427 /* #NOAPP */ + 428 029a 00C0 rjmp .L45 + 429 .L43: + 430 029c 8881 ld r24,Y + 431 029e 9981 ldd r25,Y+1 + 432 02a0 00D0 rcall writeWordToPageBuffer + 433 02a2 1250 subi r17,lo8(-(-2)) + 434 02a4 01F0 breq .L45 + 435 02a6 2296 adiw r28,2 + 436 02a8 00C0 rjmp .L46 + 437 .L45: + 438 02aa 8091 0000 lds r24,writeLength + 439 02ae 8823 tst r24 + 440 02b0 01F4 brne .L21 + 441 02b2 8091 0000 lds r24,events + 442 02b6 8260 ori r24,lo8(2) + 443 02b8 8093 0000 sts events,r24 + 444 02bc 1092 0000 sts usbMsgLen,__zero_reg__ + 445 .L21: + 446 02c0 1092 0000 sts usbRxLen,__zero_reg__ + 447 .L19: + 448 02c4 8091 0000 lds r24,usbTxLen + 449 02c8 84FF sbrs r24,4 + 450 02ca 00C0 rjmp .L47 + 451 02cc 8091 0000 lds r24,usbMsgLen + 452 02d0 8F3F cpi r24,lo8(-1) + 453 02d2 01F0 breq .L47 + 454 02d4 182F mov r17,r24 + 455 02d6 8930 cpi r24,lo8(9) + 456 02d8 00F0 brlo .L48 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 9 + + + 457 02da 18E0 ldi r17,lo8(8) + 458 .L48: + 459 02dc 811B sub r24,r17 + 460 02de 8093 0000 sts usbMsgLen,r24 + 461 02e2 8091 0000 lds r24,usbTxBuf + 462 02e6 98E8 ldi r25,lo8(-120) + 463 02e8 8927 eor r24,r25 + 464 02ea 8093 0000 sts usbTxBuf,r24 + 465 02ee 1123 tst r17 + 466 02f0 01F0 breq .L49 + 467 02f2 E091 0000 lds r30,usbMsgPtr + 468 02f6 F091 0000 lds r31,(usbMsgPtr)+1 + 469 02fa 8091 0000 lds r24,usbMsgFlags + 470 02fe 86FF sbrs r24,6 + 471 0300 00C0 rjmp .L50 + 472 0302 912F mov r25,r17 + 473 0304 A0E0 ldi r26,lo8(usbTxBuf+1) + 474 0306 B0E0 ldi r27,hi8(usbTxBuf+1) + 475 .L51: + 476 /* #APP */ + 477 ; 504 "usbdrv/usbdrv.c" 1 + 478 0308 8491 lpm r24, Z + 479 + 480 ; 0 "" 2 + 481 /* #NOAPP */ + 482 030a 8D93 st X+,r24 + 483 030c 3196 adiw r30,1 + 484 030e 9150 subi r25,lo8(-(-1)) + 485 0310 01F4 brne .L51 + 486 0312 00C0 rjmp .L52 + 487 .L50: + 488 0314 912F mov r25,r17 + 489 0316 A0E0 ldi r26,lo8(usbTxBuf+1) + 490 0318 B0E0 ldi r27,hi8(usbTxBuf+1) + 491 .L53: + 492 031a 8191 ld r24,Z+ + 493 031c 8D93 st X+,r24 + 494 031e 9150 subi r25,lo8(-(-1)) + 495 0320 01F4 brne .L53 + 496 .L52: + 497 0322 F093 0000 sts (usbMsgPtr)+1,r31 + 498 0326 E093 0000 sts usbMsgPtr,r30 + 499 .L49: + 500 032a 80E0 ldi r24,lo8(usbTxBuf+1) + 501 032c 90E0 ldi r25,hi8(usbTxBuf+1) + 502 032e 612F mov r22,r17 + 503 0330 00D0 rcall usbCrc16Append + 504 0332 612F mov r22,r17 + 505 0334 6C5F subi r22,lo8(-(4)) + 506 0336 6C30 cpi r22,lo8(12) + 507 0338 01F0 breq .L54 + 508 033a 8FEF ldi r24,lo8(-1) + 509 033c 8093 0000 sts usbMsgLen,r24 + 510 .L54: + 511 0340 6093 0000 sts usbTxLen,r22 + 512 .L47: + 513 0344 94E1 ldi r25,lo8(20) +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 10 + + + 514 .L56: + 515 0346 86B3 in r24,54-32 + 516 0348 8871 andi r24,lo8(24) + 517 034a 01F4 brne .L55 + 518 034c 9150 subi r25,lo8(-(-1)) + 519 034e 01F4 brne .L56 + 520 0350 1092 0000 sts usbNewDeviceAddr,__zero_reg__ + 521 0354 1092 0000 sts usbDeviceAddr,__zero_reg__ + 522 .L55: + 523 0358 10E0 ldi r17,lo8(0) + 524 035a 9923 tst r25 + 525 035c 01F4 brne .L57 + 526 035e 11E0 ldi r17,lo8(1) + 527 .L57: + 528 0360 8091 0000 lds r24,wasReset.1562 + 529 0364 8117 cp r24,r17 + 530 0366 01F0 breq .L58 + 531 0368 1123 tst r17 + 532 036a 01F4 brne .L59 + 533 /* #APP */ + 534 ; 557 "usbdrv/usbdrv.c" 1 + 535 036c F894 cli + 536 ; 0 "" 2 + 537 /* #NOAPP */ + 538 036e 00D0 rcall calibrateOscillator + 539 /* #APP */ + 540 ; 557 "usbdrv/usbdrv.c" 1 + 541 0370 7894 sei + 542 ; 0 "" 2 + 543 /* #NOAPP */ + 544 .L59: + 545 0372 1093 0000 sts wasReset.1562,r17 + 546 .L58: + 547 0376 8CE9 ldi r24,lo8(412) + 548 0378 91E0 ldi r25,hi8(412) + 549 /* #APP */ + 550 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas + 551 037a 0197 1: sbiw r24,1 + 552 037c 01F4 brne 1b + 553 ; 0 "" 2 + 554 /* #NOAPP */ + 555 037e 8091 0000 lds r24,events + 556 0382 8823 tst r24 + 557 0384 01F0 breq .L60 + 558 0386 EE24 clr r14 + 559 0388 FF24 clr r15 + 560 038a 00C0 rjmp .L61 + 561 .L60: + 562 038c 0894 sec + 563 038e E11C adc r14,__zero_reg__ + 564 0390 F11C adc r15,__zero_reg__ + 565 .L61: + 566 0392 182F mov r17,r24 + 567 0394 80FF sbrs r24,0 + 568 0396 00C0 rjmp .L62 + 569 /* #APP */ + 570 ; 115 "main.c" 1 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 11 + + + 571 0398 F894 cli + 572 ; 0 "" 2 + 573 /* #NOAPP */ + 574 039a E0E4 ldi r30,lo8(5952) + 575 039c F7E1 ldi r31,hi8(5952) + 576 .L64: + 577 039e E054 subi r30,lo8(-(-64)) + 578 03a0 F040 sbci r31,hi8(-(-64)) + 579 03a2 83E0 ldi r24,lo8(3) + 580 /* #APP */ + 581 ; 119 "main.c" 1 + 582 03a4 8093 5700 sts 87, r24 + 583 03a8 E895 spm + 584 + 585 ; 0 "" 2 + 586 /* #NOAPP */ + 587 .L63: + 588 03aa 07B6 in __tmp_reg__,87-32 + 589 03ac 00FC sbrc __tmp_reg__,0 + 590 03ae 00C0 rjmp .L63 + 591 03b0 3097 sbiw r30,0 + 592 03b2 01F4 brne .L64 + 593 03b4 1092 0000 sts (currentAddress)+1,__zero_reg__ + 594 03b8 1092 0000 sts currentAddress,__zero_reg__ + 595 03bc 00D0 rcall fillFlashWithVectors + 596 /* #APP */ + 597 ; 124 "main.c" 1 + 598 03be 7894 sei + 599 ; 0 "" 2 + 600 /* #NOAPP */ + 601 .L62: + 602 03c0 11FF sbrs r17,1 + 603 03c2 00C0 rjmp .L65 + 604 03c4 8AE3 ldi r24,lo8(8250) + 605 03c6 90E2 ldi r25,hi8(8250) + 606 /* #APP */ + 607 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas + 608 03c8 0197 1: sbiw r24,1 + 609 03ca 01F4 brne 1b + 610 ; 0 "" 2 + 611 /* #NOAPP */ + 612 03cc 8091 0000 lds r24,currentAddress + 613 03d0 9091 0000 lds r25,(currentAddress)+1 + 614 03d4 8F73 andi r24,lo8(63) + 615 03d6 9070 andi r25,hi8(63) + 616 03d8 892B or r24,r25 + 617 03da 01F0 breq .L66 + 618 03dc 00D0 rcall fillFlashWithVectors + 619 03de 00C0 rjmp .L65 + 620 .L66: + 621 03e0 00D0 rcall writeFlashPage + 622 .L65: + 623 03e2 12FF sbrs r17,2 + 624 03e4 00C0 rjmp .L67 + 625 03e6 8091 0000 lds r24,didWriteSomething + 626 03ea 8823 tst r24 + 627 03ec 01F4 brne .L68 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 12 + + + 628 03ee 00C0 rjmp .L69 + 629 .L70: + 630 03f0 00D0 rcall fillFlashWithVectors + 631 .L68: + 632 03f2 8091 0000 lds r24,currentAddress + 633 03f6 9091 0000 lds r25,(currentAddress)+1 + 634 03fa 8054 subi r24,lo8(5952) + 635 03fc 9741 sbci r25,hi8(5952) + 636 03fe 00F0 brlo .L70 + 637 .L69: + 638 0400 82E2 ldi r24,lo8(-24286) + 639 0402 91EA ldi r25,hi8(-24286) + 640 /* #APP */ + 641 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas + 642 0404 0197 1: sbiw r24,1 + 643 0406 01F4 brne 1b + 644 ; 0 "" 2 + 645 /* #NOAPP */ + 646 0408 00C0 rjmp .L71 + 647 .L67: + 648 040a 1092 0000 sts events,__zero_reg__ + 649 040e 80E5 ldi r24,lo8(-15536) + 650 0410 E816 cp r14,r24 + 651 0412 83EC ldi r24,hi8(-15536) + 652 0414 F806 cpc r15,r24 + 653 0416 00F4 brsh .+2 + 654 0418 00C0 rjmp .L72 655 .L71: - 656 0428 82E2 ldi r24,lo8(-24286) - 657 042a 91EA ldi r25,hi8(-24286) - 658 /* #APP */ - 659 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas - 660 042c 0197 1: sbiw r24,1 - 661 042e 01F4 brne 1b - 662 ; 0 "" 2 - 663 /* #NOAPP */ - 664 0430 00C0 rjmp .L73 - 665 .L69: - 666 0432 1092 0000 sts events,__zero_reg__ - 667 0436 80E5 ldi r24,lo8(-15536) - 668 0438 E816 cp r14,r24 - 669 043a 83EC ldi r24,hi8(-15536) - 670 043c F806 cpc r15,r24 - 671 043e 00F4 brsh .+2 - 672 0440 00C0 rjmp .L74 - 673 .L73: - 674 /* #APP */ - 675 ; 317 "main.c" 1 - 676 0442 F894 cli - 677 ; 0 "" 2 - 678 /* #NOAPP */ - 679 0444 1BBE out 91-32,__zero_reg__ - 680 0446 15BA out 53-32,__zero_reg__ - 681 0448 1092 5F02 sts 607,__zero_reg__ - 682 044c 1092 5E02 sts 606,__zero_reg__ - 683 /* #APP */ - 684 ; 326 "main.c" 1 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 13 - - - 685 0450 00C0 rjmp __vectors - 4 - 686 ; 0 "" 2 - 687 /* epilogue start */ - 688 /* #NOAPP */ - 689 0452 0895 ret - 690 .size main, .-main - 691 .global usbTxLen - 692 .data - 693 .type usbTxLen, @object - 694 .size usbTxLen, 1 - 695 usbTxLen: - 696 0000 5A .byte 90 - 697 .global usbDescriptorString0 - 698 .section .progmem.data,"a",@progbits - 699 .type usbDescriptorString0, @object - 700 .size usbDescriptorString0, 4 - 701 usbDescriptorString0: - 702 0000 04 .byte 4 - 703 0001 03 .byte 3 - 704 0002 09 .byte 9 - 705 0003 04 .byte 4 - 706 .global usbDescriptorStringVendor - 707 .type usbDescriptorStringVendor, @object - 708 .size usbDescriptorStringVendor, 34 - 709 usbDescriptorStringVendor: - 710 0004 2203 .word 802 - 711 0006 6300 .word 99 - 712 0008 7200 .word 114 - 713 000a 6500 .word 101 - 714 000c 6100 .word 97 - 715 000e 7400 .word 116 - 716 0010 6900 .word 105 - 717 0012 7600 .word 118 - 718 0014 6500 .word 101 - 719 0016 7000 .word 112 - 720 0018 6F00 .word 111 - 721 001a 6E00 .word 110 - 722 001c 7900 .word 121 - 723 001e 2E00 .word 46 - 724 0020 6300 .word 99 - 725 0022 6F00 .word 111 - 726 0024 6D00 .word 109 - 727 .global usbDescriptorStringDevice - 728 .type usbDescriptorStringDevice, @object - 729 .size usbDescriptorStringDevice, 12 - 730 usbDescriptorStringDevice: - 731 0026 0C03 .word 780 - 732 0028 7500 .word 117 - 733 002a 4200 .word 66 - 734 002c 6F00 .word 111 - 735 002e 6F00 .word 111 - 736 0030 7400 .word 116 - 737 .global usbDescriptorDevice - 738 .type usbDescriptorDevice, @object - 739 .size usbDescriptorDevice, 18 - 740 usbDescriptorDevice: - 741 0032 12 .byte 18 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 14 - - - 742 0033 01 .byte 1 - 743 0034 10 .byte 16 - 744 0035 01 .byte 1 - 745 0036 FF .byte -1 - 746 0037 00 .byte 0 - 747 0038 00 .byte 0 - 748 0039 08 .byte 8 - 749 003a C0 .byte -64 - 750 003b 16 .byte 22 - 751 003c DC .byte -36 - 752 003d 05 .byte 5 - 753 003e 01 .byte 1 - 754 003f 01 .byte 1 - 755 0040 01 .byte 1 - 756 0041 02 .byte 2 - 757 0042 00 .byte 0 - 758 0043 01 .byte 1 - 759 .global usbDescriptorConfiguration - 760 .type usbDescriptorConfiguration, @object - 761 .size usbDescriptorConfiguration, 18 - 762 usbDescriptorConfiguration: - 763 0044 09 .byte 9 - 764 0045 02 .byte 2 - 765 0046 12 .byte 18 - 766 0047 00 .byte 0 - 767 0048 01 .byte 1 - 768 0049 01 .byte 1 - 769 004a 00 .byte 0 - 770 004b 80 .byte -128 - 771 004c 32 .byte 50 - 772 004d 09 .byte 9 - 773 004e 04 .byte 4 - 774 004f 00 .byte 0 - 775 0050 00 .byte 0 - 776 0051 00 .byte 0 - 777 0052 00 .byte 0 - 778 0053 00 .byte 0 - 779 0054 00 .byte 0 - 780 0055 00 .byte 0 - 781 .lcomm events,1 - 782 .lcomm didWriteSomething,1 - 783 .data - 784 .type usbMsgLen, @object - 785 .size usbMsgLen, 1 - 786 usbMsgLen: - 787 0001 FF .byte -1 - 788 .type replyBuffer.1675, @object - 789 .size replyBuffer.1675, 4 - 790 replyBuffer.1675: - 791 0002 17 .byte 23 - 792 0003 3A .byte 58 - 793 0004 40 .byte 64 - 794 0005 08 .byte 8 - 795 .lcomm wasReset.1564,1 - 796 .lcomm usbMsgFlags,1 - 797 .lcomm writeLength,1 - 798 .lcomm vectorTemp,4 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 15 - - - 799 .lcomm currentAddress,2 - 800 .comm usbMsgPtr,2,1 - 801 .comm usbRxToken,1,1 - 802 .comm usbConfiguration,1,1 - 803 .comm usbRxBuf,22,1 - 804 .comm usbInputBufOffset,1,1 - 805 .comm usbDeviceAddr,1,1 - 806 .comm usbNewDeviceAddr,1,1 - 807 .comm usbRxLen,1,1 - 808 .comm usbCurrentTok,1,1 - 809 .comm usbTxBuf,11,1 - 810 .global __do_copy_data - 811 .global __do_clear_bss -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s page 16 + 656 /* #APP */ + 657 ; 318 "main.c" 1 + 658 041a F894 cli + 659 ; 0 "" 2 + 660 /* #NOAPP */ + 661 041c 1BBE out 91-32,__zero_reg__ + 662 041e 15BA out 53-32,__zero_reg__ + 663 0420 1092 5F02 sts 607,__zero_reg__ + 664 0424 1092 5E02 sts 606,__zero_reg__ + 665 /* #APP */ + 666 ; 327 "main.c" 1 + 667 0428 00C0 rjmp __vectors - 4 + 668 ; 0 "" 2 + 669 /* epilogue start */ + 670 /* #NOAPP */ + 671 042a 0895 ret + 672 .size main, .-main + 673 .global usbTxLen + 674 .data + 675 .type usbTxLen, @object + 676 .size usbTxLen, 1 + 677 usbTxLen: + 678 0000 5A .byte 90 + 679 .global usbDescriptorString0 + 680 .section .progmem.data,"a",@progbits + 681 .type usbDescriptorString0, @object + 682 .size usbDescriptorString0, 4 + 683 usbDescriptorString0: + 684 0000 04 .byte 4 +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 13 + + + 685 0001 03 .byte 3 + 686 0002 09 .byte 9 + 687 0003 04 .byte 4 + 688 .global usbDescriptorDevice + 689 .type usbDescriptorDevice, @object + 690 .size usbDescriptorDevice, 18 + 691 usbDescriptorDevice: + 692 0004 12 .byte 18 + 693 0005 01 .byte 1 + 694 0006 10 .byte 16 + 695 0007 01 .byte 1 + 696 0008 FF .byte -1 + 697 0009 00 .byte 0 + 698 000a 00 .byte 0 + 699 000b 08 .byte 8 + 700 000c D0 .byte -48 + 701 000d 16 .byte 22 + 702 000e 53 .byte 83 + 703 000f 07 .byte 7 + 704 0010 02 .byte 2 + 705 0011 01 .byte 1 + 706 0012 00 .byte 0 + 707 0013 00 .byte 0 + 708 0014 00 .byte 0 + 709 0015 01 .byte 1 + 710 .global usbDescriptorConfiguration + 711 .type usbDescriptorConfiguration, @object + 712 .size usbDescriptorConfiguration, 18 + 713 usbDescriptorConfiguration: + 714 0016 09 .byte 9 + 715 0017 02 .byte 2 + 716 0018 12 .byte 18 + 717 0019 00 .byte 0 + 718 001a 01 .byte 1 + 719 001b 01 .byte 1 + 720 001c 00 .byte 0 + 721 001d 80 .byte -128 + 722 001e 32 .byte 50 + 723 001f 09 .byte 9 + 724 0020 04 .byte 4 + 725 0021 00 .byte 0 + 726 0022 00 .byte 0 + 727 0023 00 .byte 0 + 728 0024 00 .byte 0 + 729 0025 00 .byte 0 + 730 0026 00 .byte 0 + 731 0027 00 .byte 0 + 732 .lcomm events,1 + 733 .lcomm didWriteSomething,1 + 734 .data + 735 .type usbMsgLen, @object + 736 .size usbMsgLen, 1 + 737 usbMsgLen: + 738 0001 FF .byte -1 + 739 .type replyBuffer.1675, @object + 740 .size replyBuffer.1675, 4 + 741 replyBuffer.1675: +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 14 + + + 742 0002 17 .byte 23 + 743 0003 3A .byte 58 + 744 0004 40 .byte 64 + 745 0005 08 .byte 8 + 746 .lcomm wasReset.1562,1 + 747 .lcomm usbMsgFlags,1 + 748 .lcomm writeLength,1 + 749 .lcomm vectorTemp,4 + 750 .lcomm currentAddress,2 + 751 .comm usbMsgPtr,2,1 + 752 .comm usbRxToken,1,1 + 753 .comm usbConfiguration,1,1 + 754 .comm usbRxBuf,22,1 + 755 .comm usbInputBufOffset,1,1 + 756 .comm usbDeviceAddr,1,1 + 757 .comm usbNewDeviceAddr,1,1 + 758 .comm usbRxLen,1,1 + 759 .comm usbCurrentTok,1,1 + 760 .comm usbTxBuf,11,1 + 761 .global __do_copy_data + 762 .global __do_clear_bss +GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s page 15 DEFINED SYMBOLS *ABS*:00000000 main.c -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:2 *ABS*:0000003f __SREG__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:3 *ABS*:0000003e __SP_H__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:4 *ABS*:0000003d __SP_L__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:5 *ABS*:00000034 __CCP__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:6 *ABS*:00000000 __tmp_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:7 *ABS*:00000001 __zero_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:10 .text:00000000 writeFlashPage -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:781 .bss:00000001 didWriteSomething -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:798 .bss:00000009 currentAddress -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:44 .text:00000024 writeWordToPageBuffer -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:797 .bss:00000005 vectorTemp -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:113 .text:0000008e fillFlashWithVectors -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:139 .init3:00000000 PushMagicWord -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:161 .text:000000b4 main +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:2 *ABS*:0000003f __SREG__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:3 *ABS*:0000003e __SP_H__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:4 *ABS*:0000003d __SP_L__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:5 *ABS*:00000034 __CCP__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:6 *ABS*:00000000 __tmp_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:7 *ABS*:00000001 __zero_reg__ +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:10 .text:00000000 writeFlashPage +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:732 .bss:00000001 didWriteSomething +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:749 .bss:00000009 currentAddress +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:44 .text:00000024 writeWordToPageBuffer +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:748 .bss:00000005 vectorTemp +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:113 .text:0000008e fillFlashWithVectors +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:139 .init3:00000000 PushMagicWord +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:161 .text:000000b4 main *COM*:00000001 usbRxLen *COM*:00000001 usbInputBufOffset *COM*:00000016 usbRxBuf *COM*:00000001 usbRxToken *COM*:0000000b usbTxBuf -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:695 .data:00000000 usbTxLen -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:795 .bss:00000003 usbMsgFlags -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:790 .data:00000002 replyBuffer.1675 +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:677 .data:00000000 usbTxLen +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:746 .bss:00000003 usbMsgFlags +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:741 .data:00000002 replyBuffer.1675 *COM*:00000002 usbMsgPtr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:796 .bss:00000004 writeLength +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:747 .bss:00000004 writeLength .bss:00000000 events *COM*:00000001 usbNewDeviceAddr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:740 .progmem.data:00000032 usbDescriptorDevice -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:762 .progmem.data:00000044 usbDescriptorConfiguration -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:701 .progmem.data:00000000 usbDescriptorString0 -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:709 .progmem.data:00000004 usbDescriptorStringVendor -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:730 .progmem.data:00000026 usbDescriptorStringDevice +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:691 .progmem.data:00000004 usbDescriptorDevice +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:713 .progmem.data:00000016 usbDescriptorConfiguration +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:683 .progmem.data:00000000 usbDescriptorString0 *COM*:00000001 usbConfiguration -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:786 .data:00000001 usbMsgLen +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:737 .data:00000001 usbMsgLen *COM*:00000001 usbDeviceAddr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccuASyoo.s:782 .bss:00000002 wasReset.1564 +/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccd49vnP.s:733 .bss:00000002 wasReset.1562 *COM*:00000001 usbCurrentTok UNDEFINED SYMBOLS |