summaryrefslogtreecommitdiffstats
path: root/firmware/main.c.lst
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/main.c.lst')
-rw-r--r--firmware/main.c.lst855
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