📄 main.lst
字号:
704 007A9C 0012 return
705 007A9E _USBCtrlEPService:
706 000000
707 ;GenericUSB.h: 858: void USBCtrlEPService(void)
708 007A9E 506C movf 3948,w,c ;volatile
709 007AA0 E10A bnz l91
710 ;GenericUSB.h: 861: {
711 007AA2 EE04 F000 lfsr 0,1024
712 007AA6 30EF rrcf indf0,w,c
713 007AA8 6E00 movwf btemp,c
714 007AAA 3000 rrcf btemp,w,c
715 007AAC 0B0F andlw 15
716 007AAE 0A0D xorlw 13
717 007AB0 E101 bnz l92
718 ;GenericUSB.h: 863: USBCtrlTrfSetup();
719 007AB2 D00E goto _USBCtrlTrfSetup ;wreg free
720 007AB4 l92:
721 ;GenericUSB.h: 864: else
722 007AB4 D017 goto _USBCtrlTrfOut ;wreg free
723 ;GenericUSB.h: 866: }
724 007AB6 l91:
725 ;GenericUSB.h: 867: else if(USTAT == (0x00<<3)|(
+ 1<<2))
726 007AB6 506C movf 3948,w,c ;volatile
727 007AB8 0E00 movlw 0
728 007ABA B4D8 btfsc status,2,c
729 007ABC 0E01 movlw 1
730 007ABE 6E00 movwf btemp,c
731 007AC0 6A01 clrf btemp+1,c
732 007AC2 0E04 movlw 4
733 007AC4 1200 iorwf btemp,f,c
734 007AC6 5001 movf btemp+1,w,c
735 007AC8 1000 iorwf btemp,w,c
736 007ACA A4D8 btfss status,2,c
737 ;GenericUSB.h: 868: USBCtrlTrfIn();
738 007ACC D81C call _USBCtrlTrfIn ;wreg free
739 ;GenericUSB.h: 870: }
740 007ACE 0012 return
741 007AD0 _USBCtrlTrfSetup:
742 000000
743 ;GenericUSB.h: 873: void USBCtrlTrfSetup(void)
744 007AD0 0103 movlb _ctrl_trf_state shr (0+8)
745 007AD2 6BFA clrf _ctrl_trf_state& (0+255),b
746 ;GenericUSB.h: 877: ctrl_trf_session_owner = 0;
747 007AD4 0103 movlb _ctrl_trf_session_owner shr (0+8)
748 007AD6 6BF9 clrf _ctrl_trf_session_owner& (0+255),b
749 ;GenericUSB.h: 878: wCount._word = 0;
750 007AD8 EE00 F0BB lfsr 0,_wCount
751 007ADC 6AEE clrf postinc0,c
752 007ADE 6AEE clrf postinc0,c
753 ;GenericUSB.h: 879: USBCheckStdRequest();
754 007AE0 DE2B call _USBCheckStdRequest ;wreg free
755 ;GenericUSB.h: 880: USBCtrlEPServiceComplete();
756 007AE2 D0CB goto _USBCtrlEPServiceComplete ;wreg free
757 ;GenericUSB.h: 881: }
758 007AE4 _USBCtrlTrfOut:
759 000000
760 ;GenericUSB.h: 883: void USBCtrlTrfOut(void)
761 007AE4 C3FA FFE8 movff _ctrl_trf_state,wreg
762 007AE8 0A02 xorlw 2
763 007AEA E10C bnz l98
764 ;GenericUSB.h: 886: {
765 007AEC D896 call _USBCtrlTrfRxService ;wreg free
766 ;GenericUSB.h: 888: if(ep[0].out.a.Status.a.DTS
+ == 0)
767 007AEE 0104 movlb 4
768 007AF0 BD00 btfsc 0,6,b
769 007AF2 D004 goto l99
770 ;GenericUSB.h: 889: ep[0].out.a.Status._byte = 0
+ x80|0x40|0x08;
771 007AF4 0EC8 movlw -56
772 007AF6 CFE8 F400 movff wreg,1024
773 007AFA 0012 return
774 007AFC l99:
775 ;GenericUSB.h: 890: else
776 007AFC 0E88 movlw -120
777 007AFE CFE8 F400 movff wreg,1024
778 ;GenericUSB.h: 892: }
779 007B02 0012 return
780 007B04 l98:
781 ;GenericUSB.h: 893: else
782 007B04 D10B goto _USBPrepareForNextSetupTrf ;wreg free
783 ;GenericUSB.h: 895: }
784 007B06 _USBCtrlTrfIn:
785 000000
786 ;GenericUSB.h: 898: void USBCtrlTrfIn(void)
787 007B06 C3FD FFE8 movff _usb_device_state,wreg
788 007B0A 0A04 xorlw 4
789 007B0C E109 bnz l103
790 007B0E C482 FF6E movff 1154,3950
791 007B12 506E movf 3950,w,c
792 007B14 E002 bz l104
793 007B16 0E05 movlw 5
794 007B18 D001 goto L2
795 007B1A l104:
796 007B1A 0E03 movlw 3
797 007B1C L2:
798 007B1C CFE8 F3FD movff wreg,_usb_device_state
799 007B20 l103:
800 ;GenericUSB.h: 902: if(ctrl_trf_state == 1)
801 007B20 C3FA F000 movff _ctrl_trf_state,btemp
802 007B24 0400 decf btemp,w,c
803 007B26 E10C bnz l106
804 ;GenericUSB.h: 903: {
805 007B28 D80C call _USBCtrlTrfTxService ;wreg free
806 ;GenericUSB.h: 906: if(ep[0].in.a.Status.a.DTS =
+ = 0)
807 007B2A 0104 movlb 4
808 007B2C BD04 btfsc 4,6,b
809 007B2E D004 goto l107
810 ;GenericUSB.h: 907: ep[0].in.a.Status._byte = 0x
+ 80|0x40|0x08;
811 007B30 0EC8 movlw -56
812 007B32 CFE8 F404 movff wreg,1028
813 007B36 0012 return
814 007B38 l107:
815 ;GenericUSB.h: 908: else
816 007B38 0E88 movlw -120
817 007B3A CFE8 F404 movff wreg,1028
818 ;GenericUSB.h: 910: }
819 007B3E 0012 return
820 007B40 l106:
821 ;GenericUSB.h: 911: else
822 007B40 D0ED goto _USBPrepareForNextSetupTrf ;wreg free
823 ;GenericUSB.h: 913: }
824 007B42 _USBCtrlTrfTxService:
825 000000
826 ; _byte_to_send assigned to ?a_USBCtrlTrfTxServi
+ ce+0
827 000000 _USBCtrlTrfTxService$byte_to_send set ?a_USBCtrl
+ TrfTxService
828 ;GenericUSB.h: 917: void USBCtrlTrfTxService(voi
+ d)
829 007B42 0100 movlb _wCount shr (0+8)
830 007B44 0E00 movlw 0
831 007B46 5DBC subwf (_wCount+1)& (0+255),w,b
832 007B48 0E40 movlw 64
833 007B4A B4D8 btfsc status,2,c
834 007B4C 5DBB subwf _wCount& (0+255),w,b
835 007B4E E205 bc l111
836 ;GenericUSB.h: 921: byte_to_send._word = wCount.
+ _word;
837 007B50 C0BB F0BD movff _wCount,?a_USBCtrlTrfTxService
838 007B54 C0BC F0BE movff _wCount+1,?a_USBCtrlTrfTxService+1
839 007B58 D004 goto l112
840 007B5A l111:
841 ;GenericUSB.h: 922: else
842 007B5A 0E40 movlw 64
843 007B5C 0100 movlb __Lparam shr (0+8)
844 007B5E 6FBD movwf ?a_USBCtrlTrfTxService^(__Lparam& (0+6528
+ 0)),b
845 007B60 6BBE clrf (?a_USBCtrlTrfTxService+1)^(__Lparam& (0+6
+ 5280)),b
846 007B62 l112:
847 ;GenericUSB.h: 924: ep[0].in.a.Status.a.BC9 = 0;
848 007B62 0104 movlb 4
849 007B64 9304 bcf 4,1,b
850 ;GenericUSB.h: 925: ep[0].in.a.Status.a.BC8 = 0;
851 007B66 9104 bcf 4,0,b
852 ;GenericUSB.h: 926: ep[0].in.a.Status._byte |= (
+ (byte_to_send).d.v[1]);
853 007B68 0100 movlb __Lparam shr (0+8)
854 007B6A 51BE movf (?a_USBCtrlTrfTxService+1)^(__Lparam& (0+6
+ 5280)),w
855 007B6C 0104 movlb 4
856 007B6E 1304 iorwf 4,f,b
857 ;GenericUSB.h: 927: ep[0].in._byte[1] = ((byte_t
+ o_send).d.v[0]);
858 007B70 EE04 F005 lfsr 0,1029
859 007B74 C0BD FFEF movff ?a_USBCtrlTrfTxService,indf0
860 ;GenericUSB.h: 928: wCount._word = wCount._word
+ - byte_to_send._word;
861 007B78 C0BD F000 movff ?a_USBCtrlTrfTxService,btemp
862 007B7C C0BE F001 movff ?a_USBCtrlTrfTxService+1,btemp+1
863 007B80 0100 movlb _wCount shr (0+8)
864 007B82 C000 FFE8 movff btemp,wreg
865 007B86 5FBB subwf _wCount& (0+255),f,b
866 007B88 C001 FFE8 movff btemp+1,wreg
867 007B8C 5BBC subwfb (_wCount+1)& (0+255),f,b
868 ;GenericUSB.h: 929: pDst.bRam = (byte*)&CtrlTrfD
+ ata;
869 007B8E 0EC0 movlw 192
870 007B90 6FB7 movwf _pDst& (0+255),b
871 007B92 0E04 movlw 4
872 007B94 6FB8 movwf (_pDst+1)& (0+255),b
873 ;GenericUSB.h: 930: if(usb_stat.a.ctrl_trf_mem =
+ = 1)
874 007B96 0103 movlb _usb_stat shr (0+8)
875 007B98 B3FE btfsc _usb_stat& (0+255),1,b
876 007B9A D01F goto l114
877 007B9C D038 goto l118
878 ;GenericUSB.h: 931: {
879 007B9E l115:
880 ;GenericUSB.h: 933: {
881 007B9E C0B9 FFF6 movff _pSrc,tblptrl
882 007BA2 C0BA FFF7 movff _pSrc+1,tblptrh
883 007BA6 C0B7 FFE9 movff _pDst,fsr0l
884 007BAA C0B8 FFEA movff _pDst+1,fsr0h
885 007BAE 0E03 movlw (high __ramtop+-1)
886 007BB0 64F7 cpfsgt tblptrh,c
887 007BB2 D003 bra u317
888 007BB4 0008 tblrd *
889 007BB6 50F5 movf tablat,w,c
890 007BB8 D005 bra u310
891 007BBA u317:
892 007BBA CFF6 FFE1 movff tblptrl,fsr1l
893 007BBE CFF7 FFE2 movff tblptrh,fsr1h
894 007BC2 50E7 movf indf1,w,c
895 007BC4 u310:
896 007BC4 6EEF movwf indf0,c
897 ;GenericUSB.h: 935: pDst.bRam++;
898 007BC6 0100 movlb _pDst shr (0+8)
899 007BC8 2BB7 incf _pDst& (0+255),f,b
900 007BCA 0E00 movlw 0
901 007BCC 23B8 addwfc (_pDst+1)& (0+255),f,b
902 ;GenericUSB.h: 936: pSrc.bRom++;
903 007BCE 2BB9 incf _pSrc& (0+255),f,b
904 007BD0 23BA addwfc (_pSrc+1)& (0+255),f,b
905 ;GenericUSB.h: 937: byte_to_send._word--;
906 007BD2 0100 movlb __Lparam shr (0+8)
907 007BD4 07BD decf ?a_USBCtrlTrfTxService^(__Lparam& (0+65280
+ )),f,b
908 007BD6 A0D8 btfss status,0,c
909 007BD8 07BE decf (?a_USBCtrlTrfTxService+1)^(__Lparam& (0+6
+ 5280)),f,b
910 007BDA l114:
911 007BDA 0100 movlb __Lparam shr (0+8)
912 007BDC 51BE movf (?a_USBCtrlTrfTxService+1)^(__Lparam& (0+6
+ 5280)),w
913 007BDE 11BD iorwf ?a_USBCtrlTrfTxService^(__Lparam& (0+6528
+ 0)),w
914 007BE0 B4D8 btfsc status,2,c
915 007BE2 0012 return
916 007BE4 D7DC goto l115
917 ;GenericUSB.h: 938: }
918 ;GenericUSB.h: 940: else
919 007BE6 l119:
920 ;GenericUSB.h: 943: {
921 007BE6 C0B9 FFE1 movff _pSrc,fsr1l
922 007BEA C0BA FFE2 movff _pSrc+1,fsr1h
923 007BEE C0B7 FFE9 movff _pDst,fsr0l
924 007BF2 C0B8 FFEA movff _pDst+1,fsr0h
925 007BF6 CFE7 FFEF movff indf1,indf0
926 ;GenericUSB.h: 945: pDst.bRam++;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -