📄 main.lst
字号:
470 0078F8 0E01 movlw 1
471 0078FA CFE8 F3F9 movff wreg,_ctrl_trf_session_owner
472 ;GenericUSB.h: 784: ClearArray((byte*)&UEP1,15);
+ ;
473 0078FE 0100 movlb __Lparam shr (0+8)
474 007900 0E71 movlw 113
475 007902 6FBD movwf ?_ClearArray^(__Lparam& (0+65280)),b
476 007904 0E0F movlw 15
477 007906 6FBE movwf (?_ClearArray+1)^(__Lparam& (0+65280)),b
478 007908 6FBF movwf (?_ClearArray+2)^(__Lparam& (0+65280)),b
479 00790A DA95 call _ClearArray ;wreg free
480 ;GenericUSB.h: 785: ClearArray((byte*)usb_alt_in
+ tf,1);
481 00790C 0100 movlb __Lparam shr (0+8)
482 00790E 0EFC movlw low _usb_alt_intf
483 007910 6FBD movwf ?_ClearArray^(__Lparam& (0+65280)),b
484 007912 0E03 movlw high _usb_alt_intf
485 007914 6FBE movwf (?_ClearArray+1)^(__Lparam& (0+65280)),b
486 007916 0E01 movlw 1
487 007918 6FBF movwf (?_ClearArray+2)^(__Lparam& (0+65280)),b
488 00791A DA8D call _ClearArray ;wreg free
489 ;GenericUSB.h: 786: usb_active_cfg = SetupPkt.g.
+ bCfgValue;
490 00791C C482 F3FB movff 1154,_usb_active_cfg
491 ;GenericUSB.h: 787: if(SetupPkt.g.bCfgValue == 0
+ )
492 007920 EE04 F082 lfsr 0,1154
493 007924 50EF movf indf0,w,c
494 007926 E104 bnz l69
495 ;GenericUSB.h: 788: usb_device_state = 5;
496 007928 0E05 movlw 5
497 00792A CFE8 F3FD movff wreg,_usb_device_state
498 00792E 0012 return
499 007930 l69:
500 ;GenericUSB.h: 789: else
501 007930 0E06 movlw 6
502 007932 CFE8 F3FD movff wreg,_usb_device_state
503 ;GenericUSB.h: 792: USBGenInitEP();
504 007936 D290 goto _USBGenInitEP ;wreg free
505 ;GenericUSB.h: 793: }
506 007938 _USBStdGetStatus:
507 000000
508 ;GenericUSB.h: 797: void USBStdGetStatus(void)
509 007938 0104 movlb 4
510 00793A 6BC0 clrf 192,b
511 ;GenericUSB.h: 800: CtrlTrfData.b._byte1 = 0;
512 00793C 6BC1 clrf 193,b
513 ;GenericUSB.h: 801: switch (SetupPkt.d.Recipient
+ )
514 00793E D03B goto l73
515 007940 l74:
516 ;GenericUSB.h: 802: {
517 ;GenericUSB.h: 804: ctrl_trf_session_owner = 1;
518 007940 0E01 movlw 1
519 007942 CFE8 F3F9 movff wreg,_ctrl_trf_session_owner
520 ;GenericUSB.h: 805: if(1 == 1)
521 007946 0104 movlb 4
522 007948 81C0 bsf 192,0,b
523 ;GenericUSB.h: 807: if(usb_stat.a.RemoteWakeup =
+ = 1)
524 00794A 0103 movlb _usb_stat shr (0+8)
525 00794C A1FE btfss _usb_stat& (0+255),0,b
526 00794E D03C goto l72
527 ;GenericUSB.h: 808: CtrlTrfData.b._byte0|=0b0000
+ 0010;
528 007950 0104 movlb 4
529 007952 83C0 bsf 192,1,b
530 ;GenericUSB.h: 809: break;
531 007954 D039 goto l72
532 007956 l77:
533 ;GenericUSB.h: 810: case 1:
534 ;GenericUSB.h: 811: ctrl_trf_session_owner = 1;
535 007956 0E01 movlw 1
536 007958 CFE8 F3F9 movff wreg,_ctrl_trf_session_owner
537 ;GenericUSB.h: 812: break;
538 00795C D035 goto l72
539 00795E l78:
540 ;GenericUSB.h: 813: case 2:
541 ;GenericUSB.h: 814: ctrl_trf_session_owner = 1;
542 00795E 0E01 movlw 1
543 007960 CFE8 F3F9 movff wreg,_ctrl_trf_session_owner
544 ;GenericUSB.h: 815: pDst.bRam = (byte*)&ep[0].ou
+ t+(SetupPkt.j.EPNum*8)+(SetupPkt.j.EPDir*4);
545 007964 EE04 F084 lfsr 0,1156
546 007968 50EF movf indf0,w,c
547 00796A 0B0F andlw 15
548 00796C 0D02 mullw 2
549 00796E EE04 F084 lfsr 0,1156
550 007972 34EF rlcf indf0,w,c
551 007974 34EF rlcf indf0,w,c
552 007976 0B01 andlw 1
553 007978 24F3 addwf prodl,w,c
554 00797A 6E00 movwf btemp,c
555 00797C 0E00 movlw 0
556 00797E 20F4 addwfc prodh,w,c
557 007980 6E01 movwf btemp+1,c
558 007982 90D8 bcf status,0,c
559 007984 3600 rlcf btemp,f,c
560 007986 3601 rlcf btemp+1,f,c
561 007988 90D8 bcf status,0,c
562 00798A 3600 rlcf btemp,f,c
563 00798C 3601 rlcf btemp+1,f,c
564 00798E 0E00 movlw 0
565 007990 2400 addwf btemp,w,c
566 007992 CFE8 F0B7 movff wreg,_pDst
567 007996 0E04 movlw 4
568 007998 2001 addwfc btemp+1,w,c
569 00799A CFE8 F0B8 movff wreg,_pDst+1
570 ;GenericUSB.h: 816: if(*pDst.bRam & 0x04)
571 00799E C0B7 FFE9 movff _pDst,fsr0l
572 0079A2 C0B8 FFEA movff _pDst+1,fsr0h
573 0079A6 50EF movf indf0,w,c
574 0079A8 6E00 movwf btemp,c
575 0079AA A400 btfss btemp,2,c
576 0079AC D00D goto l72
577 ;GenericUSB.h: 817: CtrlTrfData.b._byte0=0x01;
578 0079AE 0E01 movlw 1
579 0079B0 CFE8 F4C0 movff wreg,1216
580 ;GenericUSB.h: 818: break;
581 0079B4 D009 goto l72
582 0079B6 l73:
583 0079B6 EE04 F080 lfsr 0,1152
584 0079BA 50EF movf indf0,w,c
585 0079BC 0B1F andlw 31
586 0079BE E0C0 bz l74
587 0079C0 0A01 xorlw 1
588 0079C2 E0C9 bz l77
589 0079C4 0A03 xorlw 3
590 0079C6 E0CB bz l78
591 0079C8 l72:
592 ;GenericUSB.h: 820: if(ctrl_trf_session_owner ==
+ 1)
593 0079C8 C3F9 F000 movff _ctrl_trf_session_owner,btemp
594 0079CC 0400 decf btemp,w,c
595 0079CE A4D8 btfss status,2,c
596 0079D0 0012 return
597 ;GenericUSB.h: 821: {
598 0079D2 0100 movlb _pSrc shr (0+8)
599 0079D4 0EC0 movlw 192
600 0079D6 6FB9 movwf _pSrc& (0+255),b
601 0079D8 0E04 movlw 4
602 0079DA 6FBA movwf (_pSrc+1)& (0+255),b
603 ;GenericUSB.h: 823: usb_stat.a.ctrl_trf_mem = 0;
604 0079DC 0103 movlb _usb_stat shr (0+8)
605 0079DE 93FE bcf _usb_stat& (0+255),1,b
606 ;GenericUSB.h: 824: ((wCount).d.v[0]) = 2;
607 0079E0 0E02 movlw 2
608 0079E2 CFE8 F0BB movff wreg,_wCount
609 ;GenericUSB.h: 825: }
610 0079E6 0012 return
611 0079E8 _USBStdFeatureReq:
612 000000
613 ;GenericUSB.h: 828: void USBStdFeatureReq(void)
614 0079E8 C482 F000 movff 1154,btemp
615 0079EC 0400 decf btemp,w,c
616 0079EE E10F bnz l82
617 0079F0 C480 FFE8 movff 1152,wreg
618 0079F4 0B1F andlw 31
619 0079F6 E10B bnz l82
620 ;GenericUSB.h: 832: {
621 0079F8 0E01 movlw 1
622 0079FA CFE8 F3F9 movff wreg,_ctrl_trf_session_owner
623 ;GenericUSB.h: 834: if(SetupPkt.b.bRequest == 3)
624 0079FE C481 FFE8 movff 1153,wreg
625 007A02 0A03 xorlw 3
626 ;GenericUSB.h: 835: usb_stat.a.RemoteWakeup = 1;
627 007A04 0103 movlb _usb_stat shr (0+8)
628 007A06 E102 bnz L3
629 007A08 81FE bsf _usb_stat& (0+255),0,b
630 007A0A D001 goto l82
631 ;GenericUSB.h: 836: else
632 007A0C L3:
633 007A0C 91FE bcf _usb_stat& (0+255),0,b
634 007A0E l82:
635 ;GenericUSB.h: 838: }
636 007A0E EE04 F082 lfsr 0,1154
637 007A12 50EF movf indf0,w,c
638 007A14 A4D8 btfss status,2,c
639 007A16 0012 return
640 007A18 C480 FFE8 movff 1152,wreg
641 007A1C 0B1F andlw 31
642 007A1E 0A02 xorlw 2
643 007A20 A4D8 btfss status,2,c
644 007A22 0012 return
645 007A24 C484 FFE8 movff 1156,wreg
646 007A28 0B0F andlw 15
647 007A2A B4D8 btfsc status,2,c
648 007A2C 0012 return
649 ;GenericUSB.h: 842: {
650 007A2E 0E01 movlw 1
651 007A30 CFE8 F3F9 movff wreg,_ctrl_trf_session_owner
652 ;GenericUSB.h: 844: pDst.bRam = (byte*)&ep[0].ou
+ t+(SetupPkt.j.EPNum*8)+(SetupPkt.j.EPDir*4);
653 007A34 EE04 F084 lfsr 0,1156
654 007A38 50EF movf indf0,w,c
655 007A3A 0B0F andlw 15
656 007A3C 0D02 mullw 2
657 007A3E EE04 F084 lfsr 0,1156
658 007A42 34EF rlcf indf0,w,c
659 007A44 34EF rlcf indf0,w,c
660 007A46 0B01 andlw 1
661 007A48 24F3 addwf prodl,w,c
662 007A4A 6E00 movwf btemp,c
663 007A4C 0E00 movlw 0
664 007A4E 20F4 addwfc prodh,w,c
665 007A50 6E01 movwf btemp+1,c
666 007A52 90D8 bcf status,0,c
667 007A54 3600 rlcf btemp,f,c
668 007A56 3601 rlcf btemp+1,f,c
669 007A58 90D8 bcf status,0,c
670 007A5A 3600 rlcf btemp,f,c
671 007A5C 3601 rlcf btemp+1,f,c
672 007A5E 0E00 movlw 0
673 007A60 2400 addwf btemp,w,c
674 007A62 CFE8 F0B7 movff wreg,_pDst
675 007A66 0E04 movlw 4
676 007A68 2001 addwfc btemp+1,w,c
677 007A6A CFE8 F0B8 movff wreg,_pDst+1
678 ;GenericUSB.h: 846: if(SetupPkt.b.bRequest == 3)
679 007A6E C481 FFE8 movff 1153,wreg
680 007A72 0A03 xorlw 3
681 007A74 E107 bnz l86
682 ;GenericUSB.h: 847: *pDst.bRam = 0x80|0x04;
683 007A76 C0B7 FFE9 movff _pDst,fsr0l
684 007A7A C0B8 FFEA movff _pDst+1,fsr0h
685 007A7E 0E84 movlw -124
686 007A80 6EEF movwf indf0,c
687 007A82 0012 return
688 007A84 l86:
689 ;GenericUSB.h: 848: else
690 007A84 0104 movlb 4
691 ;GenericUSB.h: 851: *pDst.bRam = 0x00;
692 007A86 C0B7 FFE9 movff _pDst,fsr0l
693 007A8A C0B8 FFEA movff _pDst+1,fsr0h
694 007A8E AF84 btfss 132,7,b
695 007A90 D003 goto L4
696 007A92 0E00 movlw 0
697 007A94 6AEF clrf indf0,c
698 007A96 0012 return
699 ;GenericUSB.h: 852: else
700 007A98 L4:
701 007A98 0E88 movlw -120
702 007A9A 6EEF movwf indf0,c
703 ;GenericUSB.h: 854: }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -