Blame | Last modification | View Log | RSS feed
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
15 .Ltext0:
16 .global usbFunctionSetup
18 usbFunctionSetup:
19 .LFB6:
20 .LM1:
21 .LVL0:
22 /* prologue: function */
23 /* frame size = 0 */
24 /* stack size = 0 */
25 .L__stack_usage = 0
26 .LM2:
27 0000 80E0 ldi r24,lo8(0)
28 .LVL1:
29 /* epilogue start */
30 0002 0895 ret
31 .LFE6:
33 .global hadUsbReset
35 hadUsbReset:
36 .LFB8:
37 .LM3:
38 0004 AF92 push r10
39 0006 BF92 push r11
40 0008 DF92 push r13
41 000a EF92 push r14
42 000c FF92 push r15
43 000e 0F93 push r16
44 0010 1F93 push r17
45 0012 CF93 push r28
46 0014 DF93 push r29
47 /* prologue: function */
48 /* frame size = 0 */
49 /* stack size = 9 */
50 .L__stack_usage = 9
51 .LVL2:
52 .LM4:
53 0016 08E0 ldi r16,lo8(8)
54 0018 10E0 ldi r17,hi8(8)
55 .LM5:
56 001a EE24 clr r14
57 .LM6:
58 001c 80E8 ldi r24,lo8(-128)
59 001e F82E mov r15,r24
60 .LVL3:
61 .L4:
62 .LBB40:
63 .LBB41:
64 .LM7:
65 0020 DF2C mov r13,r15
66 0022 DE0C add r13,r14
67 0024 D1BE out 81-32,r13
68 .LM8:
69 0026 00D0 rcall usbMeasureFrameLength
70 0028 A82E mov r10,r24
71 002a E501 movw r28,r10
72 002c 5E01 movw r10,r28
73 002e B92E mov r11,r25
74 0030 E501 movw r28,r10
75 .LVL4:
76 .LM9:
77 0032 99E0 ldi r25,hi8(2356)
78 0034 C433 cpi r28,lo8(2356)
79 0036 D907 cpc r29,r25
80 0038 04F4 brge .L3
81 .LM10:
82 003a ED2C mov r14,r13
83 .LVL5:
84 .L3:
85 .LM11:
86 003c F694 lsr r15
87 .LVL6:
88 003e 0150 subi r16,lo8(-(-1))
89 0040 1040 sbci r17,hi8(-(-1))
90 .LM12:
91 0042 01F4 brne .L4
92 .LVL7:
93 .LM13:
94 0044 8E2D mov r24,r14
95 0046 8150 subi r24,lo8(-(-1))
96 0048 81BF out 81-32,r24
97 004a 81B7 in r24,81-32
98 004c 0E2D mov r16,r14
99 004e 10E0 ldi r17,lo8(0)
100 0050 0F5F subi r16,lo8(-(1))
101 0052 1F4F sbci r17,hi8(-(1))
102 0054 90E0 ldi r25,lo8(0)
103 0056 0817 cp r16,r24
104 0058 1907 cpc r17,r25
105 005a 04F4 brge .L9
106 005c 00C0 rjmp .L5
107 .LVL8:
108 .L6:
109 .LM14:
110 005e 8C17 cp r24,r28
111 0060 9D07 cpc r25,r29
112 0062 04F4 brge .L7
113 .LVL9:
114 .LM15:
115 0064 E1B6 in r14,81-32
116 .LVL10:
117 0066 EC01 movw r28,r24
118 .LVL11:
119 .L7:
120 .LM16:
121 0068 81B7 in r24,81-32
122 .LVL12:
123 006a 8F5F subi r24,lo8(-(1))
124 006c 81BF out 81-32,r24
125 006e 81B7 in r24,81-32
126 0070 90E0 ldi r25,lo8(0)
127 0072 0817 cp r16,r24
128 0074 1907 cpc r17,r25
129 0076 04F0 brlt .L5
130 .LVL13:
131 .L9:
132 .LM17:
133 0078 00D0 rcall usbMeasureFrameLength
134 007a 8453 subi r24,lo8(-(-2356))
135 007c 9940 sbci r25,hi8(-(-2356))
136 007e 97FF sbrs r25,7
137 0080 00C0 rjmp .L6
138 0082 9095 com r25
139 0084 8195 neg r24
140 0086 9F4F sbci r25,lo8(-1)
141 0088 00C0 rjmp .L6
142 .L5:
143 .LM18:
144 008a E1BE out 81-32,r14
145 .LBE41:
146 .LBE40:
147 .LM19:
148 008c 61B7 in r22,81-32
149 008e 80E0 ldi r24,lo8(0)
150 0090 90E0 ldi r25,hi8(0)
151 0092 00D0 rcall __eewr_byte_tn85
152 /* epilogue start */
153 .LM20:
154 0094 DF91 pop r29
155 0096 CF91 pop r28
156 0098 1F91 pop r17
157 009a 0F91 pop r16
158 009c FF90 pop r15
159 .LVL14:
160 009e EF90 pop r14
161 .LVL15:
162 00a0 DF90 pop r13
163 00a2 BF90 pop r11
164 00a4 AF90 pop r10
165 00a6 0895 ret
166 .LFE8:
168 .global main
170 main:
171 .LFB9:
172 .LM21:
173 00a8 0F93 push r16
174 00aa 1F93 push r17
175 /* prologue: function */
176 /* frame size = 0 */
177 /* stack size = 2 */
178 .L__stack_usage = 2
179 .L14:
180 .LM22:
181 00ac E199 sbic 60-32,1
182 00ae 00C0 rjmp .L14
183 .LM23:
184 00b0 80E0 ldi r24,lo8(0)
185 00b2 90E0 ldi r25,hi8(0)
186 00b4 00D0 rcall __eerd_byte_tn85
187 .LVL16:
188 .LM24:
189 00b6 8F3F cpi r24,lo8(-1)
190 00b8 01F0 breq .L15
191 .LM25:
192 00ba 81BF out 81-32,r24
193 .L15:
194 .LVL17:
195 .LBB42:
196 .LBB43:
197 .LM26:
198 00bc 81E2 ldi r24,lo8(-24287)
199 00be 91EA ldi r25,hi8(-24287)
200 00c0 0197 1:sbiw r24,1
201 00c2 01F4 brne 1b
202 .LVL18:
203 00c4 00C0 rjmp .
204 00c6 0000 nop
205 .LBE43:
206 .LBE42:
207 .LM27:
208 00c8 479A sbi 40-32,7
209 .LM28:
210 00ca B89A sbi 55-32,0
211 .LVL19:
212 .LBB44:
213 .LBB45:
214 .LM29:
215 00cc 8FE4 ldi r24,lo8(1649999)
216 00ce 9DE2 ldi r25,hi8(1649999)
217 00d0 A9E1 ldi r26,hlo8(1649999)
218 00d2 8150 1:subi r24,1
219 00d4 9040 sbci r25,0
220 00d6 A040 sbci r26,0
221 00d8 01F4 brne 1b
222 00da 00C0 rjmp .
223 00dc 0000 nop
224 .LBE45:
225 .LBE44:
226 .LM30:
227 00de B898 cbi 55-32,0
228 .LM31:
229 00e0 2EE0 ldi r18,lo8(14)
230 00e2 88E1 ldi r24,lo8(24)
231 00e4 90E0 ldi r25,hi8(24)
232 /* #APP */
233 ; 124 "main.c" 1
234 00e6 0FB6 in __tmp_reg__,__SREG__
235 00e8 F894 cli
236 00ea A895 wdr
237 00ec 81BD out 33,r24
238 00ee 0FBE out __SREG__,__tmp_reg__
239 00f0 21BD out 33,r18
240 ; 0 "" 2
241 .LM32:
242 /* #NOAPP */
243 00f2 00D0 rcall usbInit
244 .LM33:
245 /* #APP */
246 ; 126 "main.c" 1
247 00f4 7894 sei
248 ; 0 "" 2
249 .LM34:
250 /* #NOAPP */
251 00f6 BB9A sbi 55-32,3
252 .LM35:
253 00f8 B998 cbi 55-32,1
254 .LM36:
255 00fa BC9A sbi 55-32,4
256 .LM37:
257 00fc C398 cbi 56-32,3
258 .LM38:
259 00fe C498 cbi 56-32,4
260 .LM39:
261 0100 15E0 ldi r17,lo8(5)
262 .LM40:
263 0102 05E2 ldi r16,lo8(37)
264 .L29:
265 .LM41:
266 /* #APP */
267 ; 136 "main.c" 1
268 0104 A895 wdr
269 ; 0 "" 2
270 .LM42:
271 /* #NOAPP */
272 0106 00D0 rcall usbPoll
273 .LM43:
274 0108 8091 0000 lds r24,usbTxStatus1
275 010c 84FF sbrs r24,4
276 010e 00C0 rjmp .L29
277 .LM44:
278 0110 1093 0000 sts reportBuffer,r17
279 .LM45:
280 0114 C49A sbi 56-32,4
281 .LVL20:
282 .LBB46:
283 .LBB47:
284 .LM46:
285 0116 95E0 ldi r25,lo8(5)
286 0118 9A95 1:dec r25
287 011a 01F4 brne 1b
288 011c 00C0 rjmp .
289 .LBE47:
290 .LBE46:
291 .LM47:
292 011e C498 cbi 56-32,4
293 .LVL21:
294 .LBB48:
295 .LBB49:
296 .LM48:
297 0120 A5E0 ldi r26,lo8(5)
298 0122 AA95 1:dec r26
299 0124 01F4 brne 1b
300 0126 00C0 rjmp .
301 .LBE49:
302 .LBE48:
303 .LM49:
304 0128 B199 sbic 54-32,1
305 012a 00C0 rjmp .L17
306 .LM50:
307 012c 0093 0000 sts reportBuffer,r16
308 .L17:
309 .LM51:
310 0130 C39A sbi 56-32,3
311 .LVL22:
312 .LBB50:
313 .LBB51:
314 .LM52:
315 0132 B5E0 ldi r27,lo8(5)
316 0134 BA95 1:dec r27
317 0136 01F4 brne 1b
318 0138 00C0 rjmp .
319 .LBE51:
320 .LBE50:
321 .LM53:
322 013a C398 cbi 56-32,3
323 .LVL23:
324 .LBB52:
325 .LBB53:
326 .LM54:
327 013c 85E0 ldi r24,lo8(5)
328 013e 8A95 1:dec r24
329 0140 01F4 brne 1b
330 0142 00C0 rjmp .
331 .LBE53:
332 .LBE52:
333 .LM55:
334 0144 B199 sbic 54-32,1
335 0146 00C0 rjmp .L18
336 .LM56:
337 0148 8091 0000 lds r24,reportBuffer
338 014c 8061 ori r24,lo8(16)
339 014e 8093 0000 sts reportBuffer,r24
340 .L18:
341 .LM57:
342 0152 C39A sbi 56-32,3
343 .LVL24:
344 .LBB54:
345 .LBB55:
346 .LM58:
347 0154 95E0 ldi r25,lo8(5)
348 0156 9A95 1:dec r25
349 0158 01F4 brne 1b
350 015a 00C0 rjmp .
351 .LBE55:
352 .LBE54:
353 .LM59:
354 015c C398 cbi 56-32,3
355 .LVL25:
356 .LBB56:
357 .LBB57:
358 .LM60:
359 015e A5E0 ldi r26,lo8(5)
360 0160 AA95 1:dec r26
361 0162 01F4 brne 1b
362 0164 00C0 rjmp .
363 .LBE57:
364 .LBE56:
365 .LM61:
366 0166 B199 sbic 54-32,1
367 0168 00C0 rjmp .L19
368 .LM62:
369 016a 8091 0000 lds r24,reportBuffer
370 016e 8064 ori r24,lo8(64)
371 0170 8093 0000 sts reportBuffer,r24
372 .L19:
373 .LM63:
374 0174 C39A sbi 56-32,3
375 .LVL26:
376 .LBB58:
377 .LBB59:
378 .LM64:
379 0176 B5E0 ldi r27,lo8(5)
380 0178 BA95 1:dec r27
381 017a 01F4 brne 1b
382 017c 00C0 rjmp .
383 .LBE59:
384 .LBE58:
385 .LM65:
386 017e C398 cbi 56-32,3
387 .LVL27:
388 .LBB60:
389 .LBB61:
390 .LM66:
391 0180 85E0 ldi r24,lo8(5)
392 0182 8A95 1:dec r24
393 0184 01F4 brne 1b
394 0186 00C0 rjmp .
395 .LBE61:
396 .LBE60:
397 .LM67:
398 0188 B199 sbic 54-32,1
399 018a 00C0 rjmp .L20
400 .LM68:
401 018c 8091 0000 lds r24,reportBuffer
402 0190 8068 ori r24,lo8(-128)
403 0192 8093 0000 sts reportBuffer,r24
404 .L20:
405 .LM69:
406 0196 C39A sbi 56-32,3
407 .LVL28:
408 .LBB62:
409 .LBB63:
410 .LM70:
411 0198 95E0 ldi r25,lo8(5)
412 019a 9A95 1:dec r25
413 019c 01F4 brne 1b
414 019e 00C0 rjmp .
415 .LBE63:
416 .LBE62:
417 .LM71:
418 01a0 C398 cbi 56-32,3
419 .LVL29:
420 .LBB64:
421 .LBB65:
422 .LM72:
423 01a2 A5E0 ldi r26,lo8(5)
424 01a4 AA95 1:dec r26
425 01a6 01F4 brne 1b
426 01a8 00C0 rjmp .
427 .LBE65:
428 .LBE64:
429 .LM73:
430 01aa B199 sbic 54-32,1
431 01ac 00C0 rjmp .L21
432 .LM74:
433 01ae 9091 0000 lds r25,reportBuffer
434 01b2 892F mov r24,r25
435 01b4 8695 lsr r24
436 01b6 8695 lsr r24
437 01b8 8D5F subi r24,lo8(-(3))
438 01ba 8370 andi r24,lo8(3)
439 01bc 880F lsl r24
440 01be 880F lsl r24
441 01c0 937F andi r25,lo8(-13)
442 01c2 982B or r25,r24
443 01c4 9093 0000 sts reportBuffer,r25
444 .L21:
445 .LM75:
446 01c8 C39A sbi 56-32,3
447 .LVL30:
448 .LBB66:
449 .LBB67:
450 .LM76:
451 01ca B5E0 ldi r27,lo8(5)
452 01cc BA95 1:dec r27
453 01ce 01F4 brne 1b
454 01d0 00C0 rjmp .
455 .LBE67:
456 .LBE66:
457 .LM77:
458 01d2 C398 cbi 56-32,3
459 .LVL31:
460 .LBB68:
461 .LBB69:
462 .LM78:
463 01d4 85E0 ldi r24,lo8(5)
464 01d6 8A95 1:dec r24
465 01d8 01F4 brne 1b
466 01da 00C0 rjmp .
467 .LBE69:
468 .LBE68:
469 .LM79:
470 01dc B199 sbic 54-32,1
471 01de 00C0 rjmp .L22
472 .LM80:
473 01e0 9091 0000 lds r25,reportBuffer
474 01e4 892F mov r24,r25
475 01e6 8695 lsr r24
476 01e8 8695 lsr r24
477 01ea 8F5F subi r24,lo8(-(1))
478 01ec 8370 andi r24,lo8(3)
479 01ee 880F lsl r24
480 01f0 880F lsl r24
481 01f2 937F andi r25,lo8(-13)
482 01f4 982B or r25,r24
483 01f6 9093 0000 sts reportBuffer,r25
484 .L22:
485 .LM81:
486 01fa C39A sbi 56-32,3
487 .LVL32:
488 .LBB70:
489 .LBB71:
490 .LM82:
491 01fc 95E0 ldi r25,lo8(5)
492 01fe 9A95 1:dec r25
493 0200 01F4 brne 1b
494 0202 00C0 rjmp .
495 .LBE71:
496 .LBE70:
497 .LM83:
498 0204 C398 cbi 56-32,3
499 .LVL33:
500 .LBB72:
501 .LBB73:
502 .LM84:
503 0206 A5E0 ldi r26,lo8(5)
504 0208 AA95 1:dec r26
505 020a 01F4 brne 1b
506 020c 00C0 rjmp .
507 .LBE73:
508 .LBE72:
509 .LM85:
510 020e B199 sbic 54-32,1
511 0210 00C0 rjmp .L23
512 .LM86:
513 0212 8091 0000 lds r24,reportBuffer
514 0216 982F mov r25,r24
515 0218 9D5F subi r25,lo8(-(3))
516 021a 9370 andi r25,lo8(3)
517 021c 8C7F andi r24,lo8(-4)
518 021e 892B or r24,r25
519 0220 8093 0000 sts reportBuffer,r24
520 .L23:
521 .LM87:
522 0224 C39A sbi 56-32,3
523 .LVL34:
524 .LBB74:
525 .LBB75:
526 .LM88:
527 0226 B5E0 ldi r27,lo8(5)
528 0228 BA95 1:dec r27
529 022a 01F4 brne 1b
530 022c 00C0 rjmp .
531 .LBE75:
532 .LBE74:
533 .LM89:
534 022e C398 cbi 56-32,3
535 .LVL35:
536 .LBB76:
537 .LBB77:
538 .LM90:
539 0230 85E0 ldi r24,lo8(5)
540 0232 8A95 1:dec r24
541 0234 01F4 brne 1b
542 0236 00C0 rjmp .
543 .LBE77:
544 .LBE76:
545 .LM91:
546 0238 B199 sbic 54-32,1
547 023a 00C0 rjmp .L24
548 .LM92:
549 023c 8091 0000 lds r24,reportBuffer
550 0240 982F mov r25,r24
551 0242 9F5F subi r25,lo8(-(1))
552 0244 9370 andi r25,lo8(3)
553 0246 8C7F andi r24,lo8(-4)
554 0248 892B or r24,r25
555 024a 8093 0000 sts reportBuffer,r24
556 .L24:
557 .LM93:
558 024e 80E0 ldi r24,lo8(reportBuffer)
559 0250 90E0 ldi r25,hi8(reportBuffer)
560 0252 61E0 ldi r22,lo8(1)
561 0254 00D0 rcall usbSetInterrupt
562 0256 00C0 rjmp .L29
563 .LFE9:
565 .global usbDescriptorHidReport
566 .section .progmem.data,"a",@progbits
569 usbDescriptorHidReport:
570 0000 05 .byte 5
571 0001 01 .byte 1
572 0002 09 .byte 9
573 0003 05 .byte 5
574 0004 A1 .byte -95
575 0005 01 .byte 1
576 0006 09 .byte 9
577 0007 01 .byte 1
578 0008 A1 .byte -95
579 0009 00 .byte 0
580 000a 09 .byte 9
581 000b 30 .byte 48
582 000c 09 .byte 9
583 000d 31 .byte 49
584 000e 15 .byte 21
585 000f 00 .byte 0
586 0010 25 .byte 37
587 0011 02 .byte 2
588 0012 75 .byte 117
589 0013 02 .byte 2
590 0014 95 .byte -107
591 0015 02 .byte 2
592 0016 81 .byte -127
593 0017 02 .byte 2
594 0018 C0 .byte -64
595 0019 05 .byte 5
596 001a 09 .byte 9
597 001b 19 .byte 25
598 001c 01 .byte 1
599 001d 29 .byte 41
600 001e 04 .byte 4
601 001f 15 .byte 21
602 0020 00 .byte 0
603 0021 25 .byte 37
604 0022 01 .byte 1
605 0023 75 .byte 117
606 0024 01 .byte 1
607 0025 95 .byte -107
608 0026 04 .byte 4
609 0027 81 .byte -127
610 0028 02 .byte 2
611 0029 C0 .byte -64
612 .global __fuse
613 .section .fuse,"aw",@progbits
616 __fuse:
617 0000 E1 .byte -31
618 0001 DD .byte -35
619 0002 FF .byte -1
620 .comm reportBuffer,1,1
661 .Letext0:
DEFINED SYMBOLS
*ABS*:00000000 main.c
/tmp/ccamLJh6.s:2 *ABS*:0000003f __SREG__
/tmp/ccamLJh6.s:3 *ABS*:0000003e __SP_H__
/tmp/ccamLJh6.s:4 *ABS*:0000003d __SP_L__
/tmp/ccamLJh6.s:5 *ABS*:00000034 __CCP__
/tmp/ccamLJh6.s:6 *ABS*:00000000 __tmp_reg__
/tmp/ccamLJh6.s:7 *ABS*:00000001 __zero_reg__
/tmp/ccamLJh6.s:18 .text:00000000 usbFunctionSetup
/tmp/ccamLJh6.s:35 .text:00000004 hadUsbReset
/tmp/ccamLJh6.s:170 .text:000000a8 main
*COM*:00000001 reportBuffer
/tmp/ccamLJh6.s:569 .progmem.data:00000000 usbDescriptorHidReport
/tmp/ccamLJh6.s:616 .fuse:00000000 __fuse
UNDEFINED SYMBOLS
usbMeasureFrameLength
__eewr_byte_tn85
__eerd_byte_tn85
usbInit
usbPoll
usbTxStatus1
usbSetInterrupt
__do_clear_bss