diff options
Diffstat (limited to 'firmware/main.c.lst')
-rw-r--r-- | firmware/main.c.lst | 855 |
1 files changed, 0 insertions, 855 deletions
diff --git a/firmware/main.c.lst b/firmware/main.c.lst deleted file mode 100644 index 1ce4b70..0000000 --- a/firmware/main.c.lst +++ /dev/null @@ -1,855 +0,0 @@ -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s page 1 - - - 1 .file "main.c" - 2 __SREG__ = 0x3f - 3 __SP_H__ = 0x3e - 4 __SP_L__ = 0x3d - 5 __CCP__ = 0x34 - 6 __tmp_reg__ = 0 - 7 __zero_reg__ = 1 - 8 .text - 9 .type writeFlashPage, @function - 10 writeFlashPage: - 11 /* prologue: function */ - 12 /* frame size = 0 */ - 13 0000 81E0 ldi r24,lo8(1) - 14 0002 8093 0000 sts didWriteSomething,r24 - 15 /* #APP */ - 16 ; 145 "main.c" 1 - 17 0006 F894 cli - 18 ; 0 "" 2 - 19 /* #NOAPP */ - 20 0008 E091 0000 lds r30,currentAddress - 21 000c F091 0000 lds r31,(currentAddress)+1 - 22 0010 3297 sbiw r30,2 - 23 0012 85E0 ldi r24,lo8(5) - 24 /* #APP */ - 25 ; 146 "main.c" 1 - 26 0014 8093 5700 sts 87, r24 - 27 0018 E895 spm - 28 - 29 ; 0 "" 2 - 30 /* #NOAPP */ - 31 .L2: - 32 001a 07B6 in __tmp_reg__,87-32 - 33 001c 00FC sbrc __tmp_reg__,0 - 34 001e 00C0 rjmp .L2 - 35 /* #APP */ - 36 ; 148 "main.c" 1 - 37 0020 7894 sei - 38 ; 0 "" 2 - 39 /* epilogue start */ - 40 /* #NOAPP */ - 41 0022 0895 ret - 42 .size writeFlashPage, .-writeFlashPage - 43 .type writeWordToPageBuffer, @function - 44 writeWordToPageBuffer: - 45 /* prologue: function */ - 46 /* frame size = 0 */ - 47 0024 9C01 movw r18,r24 - 48 0026 E091 0000 lds r30,currentAddress - 49 002a F091 0000 lds r31,(currentAddress)+1 - 50 002e 3097 sbiw r30,0 - 51 0030 01F0 breq .L5 - 52 0032 E430 cpi r30,4 - 53 0034 F105 cpc r31,__zero_reg__ - 54 0036 01F0 breq .L6 - 55 0038 87E1 ldi r24,hi8(6012) - 56 003a EC37 cpi r30,lo8(6012) - 57 003c F807 cpc r31,r24 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s page 2 - - - 58 003e 01F4 brne .L7 - 59 0040 2091 0000 lds r18,vectorTemp - 60 0044 3091 0000 lds r19,(vectorTemp)+1 - 61 0048 2E5B subi r18,lo8(-(1090)) - 62 004a 3B4F sbci r19,hi8(-(1090)) - 63 004c 00C0 rjmp .L8 - 64 .L7: - 65 004e 87E1 ldi r24,hi8(6014) - 66 0050 EE37 cpi r30,lo8(6014) - 67 0052 F807 cpc r31,r24 - 68 0054 01F4 brne .L8 - 69 0056 2091 0000 lds r18,vectorTemp+2 - 70 005a 3091 0000 lds r19,(vectorTemp+2)+1 - 71 005e 2D5B subi r18,lo8(-(1091)) - 72 0060 3B4F sbci r19,hi8(-(1091)) - 73 0062 00C0 rjmp .L8 - 74 .L6: - 75 0064 2FEB ldi r18,lo8(-13377) - 76 0066 3BEC ldi r19,hi8(-13377) - 77 .L8: - 78 /* #APP */ - 79 ; 188 "main.c" 1 - 80 0068 F894 cli - 81 ; 0 "" 2 - 82 /* #NOAPP */ - 83 006a 81E0 ldi r24,lo8(1) - 84 /* #APP */ - 85 ; 189 "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 ; 190 "main.c" 1 - 93 0076 7894 sei - 94 ; 0 "" 2 - 95 /* #NOAPP */ - 96 0078 3296 adiw r30,2 - 97 007a F093 0000 sts (currentAddress)+1,r31 - 98 007e E093 0000 sts currentAddress,r30 - 99 /* epilogue start */ - 100 0082 0895 ret - 101 .L5: - 102 0084 81E1 ldi r24,lo8(17) - 103 /* #APP */ - 104 ; 186 "main.c" 1 - 105 0086 8093 5700 sts 87, r24 - 106 008a E895 spm - 107 - 108 ; 0 "" 2 - 109 /* #NOAPP */ - 110 008c 00C0 rjmp .L6 - 111 .size writeWordToPageBuffer, .-writeWordToPageBuffer - 112 .type fillFlashWithVectors, @function - 113 fillFlashWithVectors: - 114 008e CF93 push r28 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s page 3 - - - 115 0090 DF93 push r29 - 116 /* prologue: function */ - 117 /* frame size = 0 */ - 118 0092 C091 0000 lds r28,currentAddress - 119 0096 D091 0000 lds r29,(currentAddress)+1 - 120 009a CF73 andi r28,lo8(63) - 121 009c D070 andi r29,hi8(63) - 122 .L11: - 123 009e 8FEF ldi r24,lo8(-1) - 124 00a0 9FEF ldi r25,hi8(-1) - 125 00a2 00D0 rcall writeWordToPageBuffer - 126 00a4 2296 adiw r28,2 - 127 00a6 C034 cpi r28,64 - 128 00a8 D105 cpc r29,__zero_reg__ - 129 00aa 04F0 brlt .L11 - 130 00ac 00D0 rcall writeFlashPage - 131 /* epilogue start */ - 132 00ae DF91 pop r29 - 133 00b0 CF91 pop r28 - 134 00b2 0895 ret - 135 .size fillFlashWithVectors, .-fillFlashWithVectors - 136 .section .init3,"ax",@progbits - 137 .global PushMagicWord - 138 .type PushMagicWord, @function - 139 PushMagicWord: - 140 /* prologue: naked */ - 141 /* frame size = 0 */ - 142 /* #APP */ - 143 ; 290 "main.c" 1 - 144 0000 00EB ldi r16, 0xB0 - 145 ; 0 "" 2 - 146 ; 291 "main.c" 1 - 147 0002 0F93 push r16 - 148 ; 0 "" 2 - 149 ; 292 "main.c" 1 - 150 0004 07E0 ldi r16, 0x07 - 151 ; 0 "" 2 - 152 ; 293 "main.c" 1 - 153 0006 0F93 push r16 - 154 ; 0 "" 2 - 155 /* epilogue start */ - 156 /* #NOAPP */ - 157 .size PushMagicWord, .-PushMagicWord - 158 .text - 159 .global main - 160 .type main, @function - 161 main: - 162 /* prologue: function */ - 163 /* frame size = 0 */ - 164 00b4 88E1 ldi r24,lo8(24) - 165 /* #APP */ - 166 ; 363 "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//ccSfrgTC.s page 4 - - - 172 - 173 ; 0 "" 2 - 174 /* #NOAPP */ - 175 00c0 E0E0 ldi r30,lo8(0) - 176 00c2 F0E0 ldi r31,hi8(0) - 177 /* #APP */ - 178 ; 311 "main.c" 1 - 179 00c4 8591 lpm r24, Z+ - 180 00c6 9491 lpm r25, Z - 181 - 182 ; 0 "" 2 - 183 /* #NOAPP */ - 184 00c8 8F5B subi r24,lo8(-13377) - 185 00ca 9B4C sbci r25,hi8(-13377) - 186 00cc 01F4 brne .L16 - 187 00ce E4E0 ldi r30,lo8(4) - 188 00d0 F0E0 ldi r31,hi8(4) - 189 /* #APP */ - 190 ; 312 "main.c" 1 - 191 00d2 8591 lpm r24, Z+ - 192 00d4 9491 lpm r25, Z - 193 - 194 ; 0 "" 2 - 195 /* #NOAPP */ - 196 00d6 8F5B subi r24,lo8(-13377) - 197 00d8 9B4C sbci r25,hi8(-13377) - 198 00da 01F0 breq .L17 - 199 .L16: - 200 00dc 00D0 rcall fillFlashWithVectors - 201 .L17: - 202 00de 1092 0000 sts (currentAddress)+1,__zero_reg__ - 203 00e2 1092 0000 sts currentAddress,__zero_reg__ - 204 00e6 AC9A sbi 53-32,4 - 205 00e8 8BB7 in r24,91-32 - 206 00ea 8062 ori r24,lo8(32) - 207 00ec 8BBF out 91-32,r24 - 208 00ee BB9A sbi 55-32,3 - 209 00f0 88E8 ldi r24,lo8(5000) - 210 00f2 93E1 ldi r25,hi8(5000) - 211 .L18: - 212 00f4 ECE9 ldi r30,lo8(412) - 213 00f6 F1E0 ldi r31,hi8(412) - 214 /* #APP */ - 215 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas - 216 00f8 3197 1: sbiw r30,1 - 217 00fa 01F4 brne 1b - 218 ; 0 "" 2 - 219 /* #NOAPP */ - 220 00fc 0197 sbiw r24,1 - 221 00fe 01F4 brne .L18 - 222 0100 BB98 cbi 55-32,3 - 223 /* #APP */ - 224 ; 304 "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//ccSfrgTC.s page 5 - - - 229 0106 FF24 clr r15 - 230 .L73: - 231 0108 9091 0000 lds r25,usbRxLen - 232 010c 9350 subi r25,lo8(-(-3)) - 233 010e 97FD sbrc r25,7 - 234 0110 00C0 rjmp .L19 - 235 0112 8091 0000 lds r24,usbInputBufOffset - 236 0116 CCE0 ldi r28,lo8(12) - 237 0118 D0E0 ldi r29,hi8(12) - 238 011a C81B sub r28,r24 - 239 011c D109 sbc r29,__zero_reg__ - 240 011e C050 subi r28,lo8(-(usbRxBuf)) - 241 0120 D040 sbci r29,hi8(-(usbRxBuf)) - 242 0122 8091 0000 lds r24,usbRxToken - 243 0126 8D32 cpi r24,lo8(45) - 244 0128 01F0 breq .+2 - 245 012a 00C0 rjmp .L20 - 246 012c 9830 cpi r25,lo8(8) - 247 012e 01F0 breq .+2 - 248 0130 00C0 rjmp .L21 - 249 0132 83EC ldi r24,lo8(-61) - 250 0134 8093 0000 sts usbTxBuf,r24 - 251 0138 8AE5 ldi r24,lo8(90) - 252 013a 8093 0000 sts usbTxLen,r24 - 253 013e 1092 0000 sts usbMsgFlags,__zero_reg__ - 254 0142 2881 ld r18,Y - 255 0144 822F mov r24,r18 - 256 0146 8076 andi r24,lo8(96) - 257 0148 9981 ldd r25,Y+1 - 258 014a 8823 tst r24 - 259 014c 01F0 breq .L22 - 260 014e 9923 tst r25 - 261 0150 01F4 brne .L23 - 262 0152 80E0 ldi r24,lo8(replyBuffer.1675) - 263 0154 90E0 ldi r25,hi8(replyBuffer.1675) - 264 0156 9093 0000 sts (usbMsgPtr)+1,r25 - 265 015a 8093 0000 sts usbMsgPtr,r24 - 266 015e 24E0 ldi r18,lo8(4) - 267 0160 00C0 rjmp .L24 - 268 .L23: - 269 0162 9130 cpi r25,lo8(1) - 270 0164 01F4 brne .L25 - 271 0166 8A81 ldd r24,Y+2 - 272 0168 8093 0000 sts writeLength,r24 - 273 016c 8C81 ldd r24,Y+4 - 274 016e 9D81 ldd r25,Y+5 - 275 0170 9093 0000 sts (currentAddress)+1,r25 - 276 0174 8093 0000 sts currentAddress,r24 - 277 0178 27FD sbrc r18,7 - 278 017a 00C0 rjmp .L26 - 279 017c 9FEF ldi r25,lo8(-1) - 280 017e 00C0 rjmp .L27 - 281 .L25: - 282 0180 8091 0000 lds r24,events - 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//ccSfrgTC.s page 6 - - - 286 018a 00C0 rjmp .L77 - 287 .L28: - 288 018c 8460 ori r24,lo8(4) - 289 .L77: - 290 018e 8093 0000 sts events,r24 - 291 0192 20E0 ldi r18,lo8(0) - 292 0194 00C0 rjmp .L24 - 293 .L22: - 294 0196 8A81 ldd r24,Y+2 - 295 0198 1092 0000 sts usbTxBuf+9,__zero_reg__ - 296 019c 9923 tst r25 - 297 019e 01F4 brne .L29 - 298 01a0 1092 0000 sts usbTxBuf+10,__zero_reg__ - 299 01a4 80E0 ldi r24,lo8(usbTxBuf+9) - 300 01a6 90E0 ldi r25,hi8(usbTxBuf+9) - 301 01a8 22E0 ldi r18,lo8(2) - 302 01aa 00C0 rjmp .L30 - 303 .L29: - 304 01ac 9530 cpi r25,lo8(5) - 305 01ae 01F4 brne .L31 - 306 01b0 8093 0000 sts usbNewDeviceAddr,r24 - 307 01b4 00C0 rjmp .L39 - 308 .L31: - 309 01b6 9630 cpi r25,lo8(6) - 310 01b8 01F4 brne .L32 - 311 01ba 8B81 ldd r24,Y+3 - 312 01bc 8130 cpi r24,lo8(1) - 313 01be 01F4 brne .L33 - 314 01c0 80E0 ldi r24,lo8(usbDescriptorDevice) - 315 01c2 90E0 ldi r25,hi8(usbDescriptorDevice) - 316 01c4 00C0 rjmp .L75 - 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 .L75: - 323 01ce 9093 0000 sts (usbMsgPtr)+1,r25 - 324 01d2 8093 0000 sts usbMsgPtr,r24 - 325 01d6 22E1 ldi r18,lo8(18) - 326 01d8 00C0 rjmp .L34 - 327 .L35: - 328 01da 8330 cpi r24,lo8(3) - 329 01dc 01F4 brne .L36 - 330 01de 8A81 ldd r24,Y+2 - 331 01e0 8823 tst r24 - 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 .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//ccSfrgTC.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 .L76 - 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 .L76: - 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 192F mov r17,r25 - 396 025a 8917 cp r24,r25 - 397 025c 00F4 brsh .L42 - 398 025e 182F mov r17,r24 - 399 .L42: -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s page 8 - - - 400 0260 811B sub r24,r17 - 401 0262 8093 0000 sts writeLength,r24 - 402 .L47: - 403 0266 8091 0000 lds r24,currentAddress - 404 026a 9091 0000 lds r25,(currentAddress)+1 - 405 026e 0097 sbiw r24,0 - 406 0270 01F4 brne .L43 - 407 0272 8881 ld r24,Y - 408 0274 9981 ldd r25,Y+1 - 409 0276 9093 0000 sts (vectorTemp)+1,r25 - 410 027a 8093 0000 sts vectorTemp,r24 - 411 027e 00C0 rjmp .L44 - 412 .L43: - 413 0280 8430 cpi r24,4 - 414 0282 9105 cpc r25,__zero_reg__ - 415 0284 01F4 brne .L45 - 416 0286 8881 ld r24,Y - 417 0288 9981 ldd r25,Y+1 - 418 028a 9093 0000 sts (vectorTemp+2)+1,r25 - 419 028e 8093 0000 sts vectorTemp+2,r24 - 420 0292 00C0 rjmp .L44 - 421 .L45: - 422 0294 8A57 subi r24,lo8(6010) - 423 0296 9741 sbci r25,hi8(6010) - 424 0298 00F0 brlo .L44 - 425 029a 81E1 ldi r24,lo8(17) - 426 /* #APP */ - 427 ; 266 "main.c" 1 - 428 029c 8093 5700 sts 87, r24 - 429 02a0 E895 spm - 430 - 431 ; 0 "" 2 - 432 /* #NOAPP */ - 433 02a2 00C0 rjmp .L46 - 434 .L44: - 435 02a4 8881 ld r24,Y - 436 02a6 9981 ldd r25,Y+1 - 437 02a8 00D0 rcall writeWordToPageBuffer - 438 02aa 1250 subi r17,lo8(-(-2)) - 439 02ac 01F0 breq .L46 - 440 02ae 2296 adiw r28,2 - 441 02b0 00C0 rjmp .L47 - 442 .L46: - 443 02b2 8091 0000 lds r24,writeLength - 444 02b6 8823 tst r24 - 445 02b8 01F4 brne .L21 - 446 02ba 8091 0000 lds r24,events - 447 02be 8260 ori r24,lo8(2) - 448 02c0 8093 0000 sts events,r24 - 449 02c4 1092 0000 sts usbMsgLen,__zero_reg__ - 450 .L21: - 451 02c8 1092 0000 sts usbRxLen,__zero_reg__ - 452 .L19: - 453 02cc 8091 0000 lds r24,usbTxLen - 454 02d0 84FF sbrs r24,4 - 455 02d2 00C0 rjmp .L48 - 456 02d4 8091 0000 lds r24,usbMsgLen -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s page 9 - - - 457 02d8 8F3F cpi r24,lo8(-1) - 458 02da 01F0 breq .L48 - 459 02dc 182F mov r17,r24 - 460 02de 8930 cpi r24,lo8(9) - 461 02e0 00F0 brlo .L49 - 462 02e2 18E0 ldi r17,lo8(8) - 463 .L49: - 464 02e4 811B sub r24,r17 - 465 02e6 8093 0000 sts usbMsgLen,r24 - 466 02ea 8091 0000 lds r24,usbTxBuf - 467 02ee 98E8 ldi r25,lo8(-120) - 468 02f0 8927 eor r24,r25 - 469 02f2 8093 0000 sts usbTxBuf,r24 - 470 02f6 1123 tst r17 - 471 02f8 01F0 breq .L50 - 472 02fa E091 0000 lds r30,usbMsgPtr - 473 02fe F091 0000 lds r31,(usbMsgPtr)+1 - 474 0302 8091 0000 lds r24,usbMsgFlags - 475 0306 86FF sbrs r24,6 - 476 0308 00C0 rjmp .L51 - 477 030a 912F mov r25,r17 - 478 030c A0E0 ldi r26,lo8(usbTxBuf+1) - 479 030e B0E0 ldi r27,hi8(usbTxBuf+1) - 480 .L52: - 481 /* #APP */ - 482 ; 504 "usbdrv/usbdrv.c" 1 - 483 0310 8491 lpm r24, Z - 484 - 485 ; 0 "" 2 - 486 /* #NOAPP */ - 487 0312 8D93 st X+,r24 - 488 0314 3196 adiw r30,1 - 489 0316 9150 subi r25,lo8(-(-1)) - 490 0318 01F4 brne .L52 - 491 031a 00C0 rjmp .L53 - 492 .L51: - 493 031c 912F mov r25,r17 - 494 031e A0E0 ldi r26,lo8(usbTxBuf+1) - 495 0320 B0E0 ldi r27,hi8(usbTxBuf+1) - 496 .L54: - 497 0322 8191 ld r24,Z+ - 498 0324 8D93 st X+,r24 - 499 0326 9150 subi r25,lo8(-(-1)) - 500 0328 01F4 brne .L54 - 501 .L53: - 502 032a F093 0000 sts (usbMsgPtr)+1,r31 - 503 032e E093 0000 sts usbMsgPtr,r30 - 504 .L50: - 505 0332 80E0 ldi r24,lo8(usbTxBuf+1) - 506 0334 90E0 ldi r25,hi8(usbTxBuf+1) - 507 0336 612F mov r22,r17 - 508 0338 00D0 rcall usbCrc16Append - 509 033a 612F mov r22,r17 - 510 033c 6C5F subi r22,lo8(-(4)) - 511 033e 6C30 cpi r22,lo8(12) - 512 0340 01F0 breq .L55 - 513 0342 8FEF ldi r24,lo8(-1) -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s page 10 - - - 514 0344 8093 0000 sts usbMsgLen,r24 - 515 .L55: - 516 0348 6093 0000 sts usbTxLen,r22 - 517 .L48: - 518 034c 94E1 ldi r25,lo8(20) - 519 .L57: - 520 034e 86B3 in r24,54-32 - 521 0350 8871 andi r24,lo8(24) - 522 0352 01F4 brne .L56 - 523 0354 9150 subi r25,lo8(-(-1)) - 524 0356 01F4 brne .L57 - 525 0358 1092 0000 sts usbNewDeviceAddr,__zero_reg__ - 526 035c 1092 0000 sts usbDeviceAddr,__zero_reg__ - 527 .L56: - 528 0360 10E0 ldi r17,lo8(0) - 529 0362 9923 tst r25 - 530 0364 01F4 brne .L58 - 531 0366 11E0 ldi r17,lo8(1) - 532 .L58: - 533 0368 8091 0000 lds r24,wasReset.1562 - 534 036c 8117 cp r24,r17 - 535 036e 01F0 breq .L59 - 536 0370 1123 tst r17 - 537 0372 01F4 brne .L60 - 538 /* #APP */ - 539 ; 557 "usbdrv/usbdrv.c" 1 - 540 0374 F894 cli - 541 ; 0 "" 2 - 542 /* #NOAPP */ - 543 0376 00D0 rcall calibrateOscillator - 544 /* #APP */ - 545 ; 557 "usbdrv/usbdrv.c" 1 - 546 0378 7894 sei - 547 ; 0 "" 2 - 548 /* #NOAPP */ - 549 .L60: - 550 037a 1093 0000 sts wasReset.1562,r17 - 551 .L59: - 552 037e 8CE9 ldi r24,lo8(412) - 553 0380 91E0 ldi r25,hi8(412) - 554 /* #APP */ - 555 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas - 556 0382 0197 1: sbiw r24,1 - 557 0384 01F4 brne 1b - 558 ; 0 "" 2 - 559 /* #NOAPP */ - 560 0386 8091 0000 lds r24,events - 561 038a 8823 tst r24 - 562 038c 01F0 breq .L61 - 563 038e EE24 clr r14 - 564 0390 FF24 clr r15 - 565 0392 00C0 rjmp .L62 - 566 .L61: - 567 0394 0894 sec - 568 0396 E11C adc r14,__zero_reg__ - 569 0398 F11C adc r15,__zero_reg__ - 570 .L62: -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s page 11 - - - 571 039a 182F mov r17,r24 - 572 039c 80FF sbrs r24,0 - 573 039e 00C0 rjmp .L63 - 574 /* #APP */ - 575 ; 130 "main.c" 1 - 576 03a0 F894 cli - 577 ; 0 "" 2 - 578 /* #NOAPP */ - 579 03a2 E0E8 ldi r30,lo8(6016) - 580 03a4 F7E1 ldi r31,hi8(6016) - 581 .L65: - 582 03a6 E054 subi r30,lo8(-(-64)) - 583 03a8 F040 sbci r31,hi8(-(-64)) - 584 03aa 83E0 ldi r24,lo8(3) - 585 /* #APP */ - 586 ; 134 "main.c" 1 - 587 03ac 8093 5700 sts 87, r24 - 588 03b0 E895 spm - 589 - 590 ; 0 "" 2 - 591 /* #NOAPP */ - 592 .L64: - 593 03b2 07B6 in __tmp_reg__,87-32 - 594 03b4 00FC sbrc __tmp_reg__,0 - 595 03b6 00C0 rjmp .L64 - 596 03b8 3097 sbiw r30,0 - 597 03ba 01F4 brne .L65 - 598 03bc 1092 0000 sts (currentAddress)+1,__zero_reg__ - 599 03c0 1092 0000 sts currentAddress,__zero_reg__ - 600 03c4 00D0 rcall fillFlashWithVectors - 601 /* #APP */ - 602 ; 139 "main.c" 1 - 603 03c6 7894 sei - 604 ; 0 "" 2 - 605 /* #NOAPP */ - 606 .L63: - 607 03c8 11FF sbrs r17,1 - 608 03ca 00C0 rjmp .L66 - 609 03cc 8AE3 ldi r24,lo8(8250) - 610 03ce 90E2 ldi r25,hi8(8250) - 611 /* #APP */ - 612 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas - 613 03d0 0197 1: sbiw r24,1 - 614 03d2 01F4 brne 1b - 615 ; 0 "" 2 - 616 /* #NOAPP */ - 617 03d4 8091 0000 lds r24,currentAddress - 618 03d8 9091 0000 lds r25,(currentAddress)+1 - 619 03dc 8F73 andi r24,lo8(63) - 620 03de 9070 andi r25,hi8(63) - 621 03e0 892B or r24,r25 - 622 03e2 01F0 breq .L67 - 623 03e4 00D0 rcall fillFlashWithVectors - 624 03e6 00C0 rjmp .L66 - 625 .L67: - 626 03e8 00D0 rcall writeFlashPage - 627 .L66: -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s page 12 - - - 628 03ea 12FF sbrs r17,2 - 629 03ec 00C0 rjmp .L68 - 630 03ee 8091 0000 lds r24,didWriteSomething - 631 03f2 8823 tst r24 - 632 03f4 01F4 brne .L69 - 633 03f6 00C0 rjmp .L70 - 634 .L71: - 635 03f8 00D0 rcall fillFlashWithVectors - 636 .L69: - 637 03fa 8091 0000 lds r24,currentAddress - 638 03fe 9091 0000 lds r25,(currentAddress)+1 - 639 0402 8058 subi r24,lo8(6016) - 640 0404 9741 sbci r25,hi8(6016) - 641 0406 00F0 brlo .L71 - 642 .L70: - 643 0408 82E2 ldi r24,lo8(-24286) - 644 040a 91EA ldi r25,hi8(-24286) - 645 /* #APP */ - 646 ; 105 "/usr/local/CrossPack-AVR-20100115/lib/gcc/avr/4.3.3/../../../../avr/include/util/delay_bas - 647 040c 0197 1: sbiw r24,1 - 648 040e 01F4 brne 1b - 649 ; 0 "" 2 - 650 /* #NOAPP */ - 651 0410 00C0 rjmp .L72 - 652 .L68: - 653 0412 1092 0000 sts events,__zero_reg__ - 654 0416 80E5 ldi r24,lo8(-15536) - 655 0418 E816 cp r14,r24 - 656 041a 83EC ldi r24,hi8(-15536) - 657 041c F806 cpc r15,r24 - 658 041e 00F4 brsh .+2 - 659 0420 00C0 rjmp .L73 - 660 .L72: - 661 /* #APP */ - 662 ; 347 "main.c" 1 - 663 0422 F894 cli - 664 ; 0 "" 2 - 665 /* #NOAPP */ - 666 0424 1BBE out 91-32,__zero_reg__ - 667 0426 15BA out 53-32,__zero_reg__ - 668 0428 1092 5F02 sts 607,__zero_reg__ - 669 042c 1092 5E02 sts 606,__zero_reg__ - 670 /* #APP */ - 671 ; 356 "main.c" 1 - 672 0430 00C0 rjmp __vectors - 4 - 673 ; 0 "" 2 - 674 /* epilogue start */ - 675 /* #NOAPP */ - 676 0432 0895 ret - 677 .size main, .-main - 678 .global usbTxLen - 679 .data - 680 .type usbTxLen, @object - 681 .size usbTxLen, 1 - 682 usbTxLen: - 683 0000 5A .byte 90 - 684 .global usbDescriptorString0 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s page 13 - - - 685 .section .progmem.data,"a",@progbits - 686 .type usbDescriptorString0, @object - 687 .size usbDescriptorString0, 4 - 688 usbDescriptorString0: - 689 0000 04 .byte 4 - 690 0001 03 .byte 3 - 691 0002 09 .byte 9 - 692 0003 04 .byte 4 - 693 .global usbDescriptorDevice - 694 .type usbDescriptorDevice, @object - 695 .size usbDescriptorDevice, 18 - 696 usbDescriptorDevice: - 697 0004 12 .byte 18 - 698 0005 01 .byte 1 - 699 0006 10 .byte 16 - 700 0007 01 .byte 1 - 701 0008 FF .byte -1 - 702 0009 00 .byte 0 - 703 000a 00 .byte 0 - 704 000b 08 .byte 8 - 705 000c D0 .byte -48 - 706 000d 16 .byte 22 - 707 000e 53 .byte 83 - 708 000f 07 .byte 7 - 709 0010 02 .byte 2 - 710 0011 01 .byte 1 - 711 0012 00 .byte 0 - 712 0013 00 .byte 0 - 713 0014 00 .byte 0 - 714 0015 01 .byte 1 - 715 .global usbDescriptorConfiguration - 716 .type usbDescriptorConfiguration, @object - 717 .size usbDescriptorConfiguration, 18 - 718 usbDescriptorConfiguration: - 719 0016 09 .byte 9 - 720 0017 02 .byte 2 - 721 0018 12 .byte 18 - 722 0019 00 .byte 0 - 723 001a 01 .byte 1 - 724 001b 01 .byte 1 - 725 001c 00 .byte 0 - 726 001d 80 .byte -128 - 727 001e 32 .byte 50 - 728 001f 09 .byte 9 - 729 0020 04 .byte 4 - 730 0021 00 .byte 0 - 731 0022 00 .byte 0 - 732 0023 00 .byte 0 - 733 0024 00 .byte 0 - 734 0025 00 .byte 0 - 735 0026 00 .byte 0 - 736 0027 00 .byte 0 - 737 .lcomm events,1 - 738 .lcomm didWriteSomething,1 - 739 .data - 740 .type usbMsgLen, @object - 741 .size usbMsgLen, 1 -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s page 14 - - - 742 usbMsgLen: - 743 0001 FF .byte -1 - 744 .type replyBuffer.1675, @object - 745 .size replyBuffer.1675, 4 - 746 replyBuffer.1675: - 747 0002 17 .byte 23 - 748 0003 7A .byte 122 - 749 0004 40 .byte 64 - 750 0005 08 .byte 8 - 751 .lcomm wasReset.1562,1 - 752 .lcomm usbMsgFlags,1 - 753 .lcomm writeLength,1 - 754 .lcomm vectorTemp,4 - 755 .lcomm currentAddress,2 - 756 .comm usbMsgPtr,2,1 - 757 .comm usbRxToken,1,1 - 758 .comm usbConfiguration,1,1 - 759 .comm usbRxBuf,22,1 - 760 .comm usbInputBufOffset,1,1 - 761 .comm usbDeviceAddr,1,1 - 762 .comm usbNewDeviceAddr,1,1 - 763 .comm usbRxLen,1,1 - 764 .comm usbCurrentTok,1,1 - 765 .comm usbTxBuf,11,1 - 766 .global __do_copy_data - 767 .global __do_clear_bss -GAS LISTING /var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s page 15 - - -DEFINED SYMBOLS - *ABS*:00000000 main.c -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:2 *ABS*:0000003f __SREG__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:3 *ABS*:0000003e __SP_H__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:4 *ABS*:0000003d __SP_L__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:5 *ABS*:00000034 __CCP__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:6 *ABS*:00000000 __tmp_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:7 *ABS*:00000001 __zero_reg__ -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:10 .text:00000000 writeFlashPage -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:737 .bss:00000001 didWriteSomething -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:754 .bss:00000009 currentAddress -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:44 .text:00000024 writeWordToPageBuffer -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:753 .bss:00000005 vectorTemp -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:113 .text:0000008e fillFlashWithVectors -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:139 .init3:00000000 PushMagicWord -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.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//ccSfrgTC.s:682 .data:00000000 usbTxLen -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:751 .bss:00000003 usbMsgFlags -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:746 .data:00000002 replyBuffer.1675 - *COM*:00000002 usbMsgPtr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:752 .bss:00000004 writeLength - .bss:00000000 events - *COM*:00000001 usbNewDeviceAddr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:696 .progmem.data:00000004 usbDescriptorDevice -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:718 .progmem.data:00000016 usbDescriptorConfiguration -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:688 .progmem.data:00000000 usbDescriptorString0 - *COM*:00000001 usbConfiguration -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:742 .data:00000001 usbMsgLen - *COM*:00000001 usbDeviceAddr -/var/folders/nd/dq8cd7_x03d_z3x899kwf__80000gn/T//ccSfrgTC.s:738 .bss:00000002 wasReset.1562 - *COM*:00000001 usbCurrentTok - -UNDEFINED SYMBOLS -usbCrc16Append -calibrateOscillator -__vectors -__do_copy_data -__do_clear_bss |