📄 isr.lst
字号:
291 00c4 61E0 ldi r22,lo8(1)
292 00c6 80E0 ldi r24,lo8(0)
293 00c8 0E94 0000 call D12_SetEndpointStatus
295 .LM31:
296 00cc 61E0 ldi r22,lo8(1)
297 00ce 862F mov r24,r22
298 00d0 0E94 0000 call D12_SetEndpointStatus
299 00d4 0895 ret
300 .L13:
302 .LM32:
303 00d6 8F73 andi r24,lo8(63)
304 00d8 8068 ori r24,lo8(-128)
305 00da E6CF rjmp .L20
306 .L7:
308 .LM33:
309 00dc 9091 0000 lds r25,bEPPflags
310 00e0 892F mov r24,r25
311 00e2 807C andi r24,lo8(-64)
312 00e4 8038 cpi r24,lo8(-128)
313 00e6 19F5 brne .L16
315 .LM34:
316 00e8 8091 0000 lds r24,ControlData+10
317 00ec 9091 0000 lds r25,(ControlData+10)+1
318 00f0 8050 subi r24,lo8(-(ControlData+14))
319 00f2 9040 sbci r25,hi8(-(ControlData+14))
320 00f4 AC01 movw r20,r24
321 00f6 60E1 ldi r22,lo8(16)
322 00f8 80E0 ldi r24,lo8(0)
323 00fa 0E94 0000 call D12_ReadEndpoint
325 .LM35:
326 00fe 2091 0000 lds r18,ControlData+10
327 0102 3091 0000 lds r19,(ControlData+10)+1
328 0106 280F add r18,r24
329 0108 311D adc r19,__zero_reg__
330 010a 3093 0000 sts (ControlData+10)+1,r19
331 010e 2093 0000 sts ControlData+10,r18
333 .LM36:
334 0112 8031 cpi r24,lo8(16)
335 0114 39F4 brne .L18
336 0116 8091 0000 lds r24,ControlData+8
337 011a 9091 0000 lds r25,(ControlData+8)+1
338 011e 2817 cp r18,r24
339 0120 3907 cpc r19,r25
340 0122 40F0 brlo .L6
341 .L18:
343 .LM37:
344 0124 8091 0000 lds r24,bEPPflags
345 0128 8860 ori r24,lo8(8)
346 .L21:
348 .LM38:
349 012a 8F73 andi r24,lo8(63)
350 012c BDCF rjmp .L20
351 .L16:
353 .LM39:
354 012e 9F73 andi r25,lo8(63)
355 0130 9093 0000 sts bEPPflags,r25
356 .L6:
357 0134 0895 ret
358 /* epilogue: frame size=0 */
359 /* epilogue: noreturn */
360 /* epilogue end (size=0) */
361 /* function ep0_rxdone size 129 (129) */
366 .Lscope4:
368 .global ep0_txdone
370 ep0_txdone:
372 .LM40:
373 /* prologue: frame size=0 */
374 0136 CF93 push r28
375 0138 DF93 push r29
376 /* prologue end (size=2) */
378 .LM41:
379 013a C091 0000 lds r28,ControlData+8
380 013e D091 0000 lds r29,(ControlData+8)+1
381 0142 8091 0000 lds r24,ControlData+10
382 0146 9091 0000 lds r25,(ControlData+10)+1
383 014a C81B sub r28,r24
384 014c D90B sbc r29,r25
386 .LM42:
387 014e 81E0 ldi r24,lo8(1)
388 0150 0E94 0000 call D12_ReadLastTransactionStatus
390 .LM43:
391 0154 8091 0000 lds r24,bEPPflags
392 0158 807C andi r24,lo8(-64)
393 015a 8034 cpi r24,lo8(64)
394 015c 09F0 breq .+2
395 015e 46C0 rjmp .L22
397 .LM44:
398 0160 C031 cpi r28,16
399 0162 D105 cpc r29,__zero_reg__
400 0164 ECF0 brlt .L24
402 .LM45:
403 0166 8091 0000 lds r24,ControlData+12
404 016a 9091 0000 lds r25,(ControlData+12)+1
405 016e 2091 0000 lds r18,ControlData+10
406 0172 3091 0000 lds r19,(ControlData+10)+1
407 0176 820F add r24,r18
408 0178 931F adc r25,r19
409 017a AC01 movw r20,r24
410 017c 60E1 ldi r22,lo8(16)
411 017e 81E0 ldi r24,lo8(1)
412 0180 0E94 0000 call D12_WriteEndpoint
414 .LM46:
415 0184 8091 0000 lds r24,ControlData+10
416 0188 9091 0000 lds r25,(ControlData+10)+1
417 018c 4096 adiw r24,16
418 018e 9093 0000 sts (ControlData+10)+1,r25
419 0192 8093 0000 sts ControlData+10,r24
421 .LM47:
422 0196 8091 0000 lds r24,bEPPflags
423 019a 8F73 andi r24,lo8(63)
424 019c 8064 ori r24,lo8(64)
425 019e 24C0 rjmp .L31
426 .L24:
428 .LM48:
429 01a0 2097 sbiw r28,0
430 01a2 D1F0 breq .L29
432 .LM49:
433 01a4 8091 0000 lds r24,ControlData+12
434 01a8 9091 0000 lds r25,(ControlData+12)+1
435 01ac 2091 0000 lds r18,ControlData+10
436 01b0 3091 0000 lds r19,(ControlData+10)+1
437 01b4 820F add r24,r18
438 01b6 931F adc r25,r19
439 01b8 AC01 movw r20,r24
440 01ba 6C2F mov r22,r28
441 01bc 81E0 ldi r24,lo8(1)
442 01be 0E94 0000 call D12_WriteEndpoint
444 .LM50:
445 01c2 8091 0000 lds r24,ControlData+10
446 01c6 9091 0000 lds r25,(ControlData+10)+1
447 01ca 8C0F add r24,r28
448 01cc 9D1F adc r25,r29
449 01ce 9093 0000 sts (ControlData+10)+1,r25
450 01d2 8093 0000 sts ControlData+10,r24
451 01d6 05C0 rjmp .L30
452 .L29:
454 .LM51:
455 01d8 AE01 movw r20,r28
456 01da 60E0 ldi r22,lo8(0)
457 01dc 81E0 ldi r24,lo8(1)
458 01de 0E94 0000 call D12_WriteEndpoint
459 .L30:
461 .LM52:
462 01e2 8091 0000 lds r24,bEPPflags
463 01e6 8F73 andi r24,lo8(63)
464 .L31:
465 01e8 8093 0000 sts bEPPflags,r24
466 .L22:
467 /* epilogue: frame size=0 */
468 01ec DF91 pop r29
469 01ee CF91 pop r28
470 01f0 0895 ret
471 /* epilogue end (size=3) */
472 /* function ep0_txdone size 94 (89) */
477 .Lscope5:
479 .global main_rxdone
481 main_rxdone:
181:isr.c **** // LED();
182:isr.c **** }
183:isr.c **** //主端点OUT控制
184:isr.c **** void main_rxdone(void)
185:isr.c **** {
483 .LM53:
484 /* prologue: frame size=0 */
485 01f2 1F93 push r17
486 /* prologue end (size=1) */
186:isr.c **** unsigned char len,epstatus,j;
187:isr.c **** j=D12_ReadLastTransactionStatus(4); //清中断标志位
488 .LM54:
489 01f4 84E0 ldi r24,lo8(4)
490 01f6 0E94 0000 call D12_ReadLastTransactionStatus
188:isr.c **** epstatus=D12_ReadEndpointStatus(4); //读取缓冲区状态
492 .LM55:
493 01fa 84E0 ldi r24,lo8(4)
494 01fc 0E94 0000 call D12_ReadEndpointStatus
189:isr.c **** epstatus &=0x60;
496 .LM56:
497 0200 182F mov r17,r24
498 0202 1076 andi r17,lo8(96)
190:isr.c **** //接收数据
191:isr.c **** len=D12_ReadEndpoint(4,64,EpBuf);
500 .LM57:
501 0204 4091 0000 lds r20,EpBuf
502 0208 5091 0000 lds r21,(EpBuf)+1
503 020c 60E4 ldi r22,lo8(64)
504 020e 84E0 ldi r24,lo8(4)
505 0210 0E94 0000 call D12_ReadEndpoint
192:isr.c **** if(epstatus==0x60)
507 .LM58:
508 0214 1036 cpi r17,lo8(96)
509 0216 41F4 brne .L32
193:isr.c **** len=D12_ReadEndpoint(4,64,EpBuf); //读取双缓冲区数据
511 .LM59:
512 0218 4091 0000 lds r20,EpBuf
513 021c 5091 0000 lds r21,(EpBuf)+1
514 0220 60E4 ldi r22,lo8(64)
515 0222 84E0 ldi r24,lo8(4)
516 0224 0E94 0000 call D12_ReadEndpoint
517 .L32:
518 /* epilogue: frame size=0 */
519 0228 1F91 pop r17
520 022a 0895 ret
521 /* epilogue end (size=2) */
522 /* function main_rxdone size 29 (26) */
527 .Lscope6:
529 .global fn_usb_isr
531 fn_usb_isr:
533 .LM60:
534 /* prologue: frame size=0 */
535 022c CF93 push r28
536 022e DF93 push r29
537 /* prologue end (size=2) */
539 .LM61:
540 /* #APP */
541 0230 F894 cli
543 .LM62:
544 /* #NOAPP */
545 0232 8091 0000 lds r24,bEPPflags
546 0236 8062 ori r24,lo8(32)
547 0238 8093 0000 sts bEPPflags,r24
549 .LM63:
550 023c 0E94 0000 call D12_ReadInterruptRegister
551 0240 EC01 movw r28,r24
553 .LM64:
554 0242 0097 sbiw r24,0
555 0244 31F1 breq .L35
557 .LM65:
558 0246 86FF sbrs r24,6
559 0248 05C0 rjmp .L36
561 .LM66:
562 024a 8091 0000 lds r24,bEPPflags
563 024e 8260 ori r24,lo8(2)
564 0250 8093 0000 sts bEPPflags,r24
565 .L36:
567 .LM67:
568 0254 C7FF sbrs r28,7
569 0256 05C0 rjmp .L38
571 .LM68:
572 0258 8091 0000 lds r24,bEPPflags
573 025c 8460 ori r24,lo8(4)
574 025e 8093 0000 sts bEPPflags,r24
575 .L38:
577 .LM69:
578 0262 C1FF sbrs r28,1
579 0264 02C0 rjmp .L39
581 .LM70:
582 0266 0E94 0000 call ep0_txdone
583 .L39:
585 .LM71:
586 026a C0FF sbrs r28,0
587 026c 02C0 rjmp .L40
589 .LM72:
590 026e 0E94 0000 call ep0_rxdone
591 .L40:
593 .LM73:
594 0272 C3FF sbrs r28,3
595 0274 02C0 rjmp .L41
597 .LM74:
598 0276 0E94 0000 call ep1_txdone
599 .L41:
601 .LM75:
602 027a C2FF sbrs r28,2
603 027c 02C0 rjmp .L42
605 .LM76:
606 027e 0E94 0000 call ep1_rxdone
607 .L42:
609 .LM77:
610 0282 C5FF sbrs r28,5
611 0284 02C0 rjmp .L43
613 .LM78:
614 0286 0E94 0000 call main_txdone
615 .L43:
617 .LM79:
618 028a C4FF sbrs r28,4
619 028c 02C0 rjmp .L35
621 .LM80:
622 028e 0E94 0000 call main_rxdone
623 .L35:
625 .LM81:
626 0292 8091 0000 lds r24,bEPPflags
627 0296 8F7D andi r24,lo8(-33)
628 0298 8093 0000 sts bEPPflags,r24
630 .LM82:
631 /* #APP */
632 029c 7894 sei
633 /* #NOAPP */
634 /* epilogue: frame size=0 */
635 029e DF91 pop r29
636 02a0 CF91 pop r28
637 02a2 0895 ret
638 /* epilogue end (size=3) */
639 /* function fn_usb_isr size 62 (57) */
644 .Lscope7:
645 .comm EpBuf,2,1
646 .comm GenEpBuf,64,1
647 .comm bEPPflags,2,1
648 .comm ControlData,22,1
653 .text
655 Letext:
656 /* File "isr.c": code 340 = 0x0154 ( 324), prologues 5, epilogues 11 */
DEFINED SYMBOLS
*ABS*:00000000 isr.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:109 .text:00000000 dma_eot
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:123 .text:00000002 main_txdone
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:141 .text:0000000a ep1_txdone
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:159 .text:00000012 ep1_rxdone
*COM*:00000040 GenEpBuf
*COM*:00000002 bEPPflags
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:195 .text:00000034 ep0_rxdone
*COM*:00000016 ControlData
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:370 .text:00000136 ep0_txdone
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:481 .text:000001f2 main_rxdone
*COM*:00000002 EpBuf
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:531 .text:0000022c fn_usb_isr
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccCoaaaa.s:655 .text:000002a4 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
D12_ReadLastTransactionStatus
D12_ReadEndpoint
D12_SetEndpointStatus
D12_AcknowledgeEndpoint
D12_WriteEndpoint
D12_ReadEndpointStatus
D12_ReadInterruptRegister
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -