📄 main.lst
字号:
752 01D3' 2800' goto l164
753 01D4' l166
754 01D4' 0800' movf _INDEX,w
755 01D5' 0080' movwf btemp
756 01D6' 3EEF addlw -17
757 01D7' 1803 btfsc 3,0
758 01D8' 2800' goto l164
759 01D9' 3E11 addlw 17
760 01DA' 1C03 btfss 3,0
761 01DB' 2800' goto l164
762 01DC' 3000 movlw 0
763 01DD' 0280' subwf btemp
764 01DE' 3000' movlw S30004 shr (0+8)
765 01DF' 008A movwf 10
766 01E0' 3000' movlw S30004& (0+255)
767 01E1' 0700' addwf btemp,w
768 01E2' 1803 btfsc 3,0
769 01E3' 0A8A incf 10
770 01E4' 0082 movwf 2
771 01E5' S30004
772 01E5' 2800' goto l183
773 01E6' 2800' goto l167
774 01E7' 2800' goto l168
775 01E8' 2800' goto l169
776 01E9' 2800' goto l170
777 01EA' 2800' goto l171
778 01EB' 2800' goto l172
779 01EC' 2800' goto l173
780 01ED' 2800' goto l174
781 01EE' 2800' goto l175
782 01EF' 2800' goto l176
783 01F0' 2800' goto l177
784 01F1' 2800' goto l178
785 01F2' 2800' goto l179
786 01F3' 2800' goto l180
787 01F4' 2800' goto l181
788 01F5' 2800' goto l182
789 01F6' l164
790 ;main.c: 676: }
791 01F6' 0800' movf _INDEX,w
792 01F7' 0700' addwf _INDEX,w
793 01F8' 3E00' addlw _AVERAGE^(0+256)
794 01F9' 0084 movwf 4
795 01FA' 1783 bsf 3,7
796 01FB' 0800 movf 0,w
797 01FC' 0080' movwf btemp
798 01FD' 0A84 incf 4
799 01FE' 0800 movf 0,w
800 01FF' 0081' movwf btemp+1
801 0200' 0801' movf _BIGVAL+1,w
802 0201' 0201' subwf btemp+1,w
803 0202' 1D03 btfss 3,2
804 0203' 2800' goto u1255
805 0204' 0800' movf _BIGVAL,w
806 0205' 0200' subwf btemp,w
807 0206' u1255
808 0206' 1803 btfsc 3,0
809 0207' 2800' goto l185
810 ;main.c: 683: AVERAGE[INDEX] = BIGVAL;
811 0208' 0800' movf _INDEX,w
812 0209' 0700' addwf _INDEX,w
813 020A' 3E00' addlw _AVERAGE^(0+256)
814 020B' 0084 movwf 4
815 020C' 1783 bsf 3,7
816 020D' 0800' movf _BIGVAL,w
817 020E' 0080 movwf 0
818 020F' 0A84 incf 4
819 0210' 0801' movf _BIGVAL+1,w
820 0211' 0080 movwf 0
821 0212' l185
822 ;main.c: 690: if (AvgIndex < 10) AvgIndex++;
823 0212' 300A movlw 10
824 0213' 0200' subwf _AvgIndex,w
825 0214' 1803 btfsc 3,0
826 0215' 2800' goto l186
827 0216' 0A80' incf _AvgIndex
828 0217' 2800' goto l187
829 0218' l186
830 ;main.c: 691: else AvgIndex = 0;
831 0218' 0180' clrf _AvgIndex
832 0219' l187
833 ;main.c: 693: if (AvgIndex == 10) {
834 0219' 0800' movf _AvgIndex,w
835 021A' 3A0A xorlw 10
836 021B' 1D03 btfss 3,2
837 021C' 2800' goto l188
838 ;main.c: 695: AVERAGE[INDEX] = AVERAGE[INDEX] +
+ (VALUE - SMALLAVG);
839 021D' 0800' movf _INDEX,w
840 021E' 0700' addwf _INDEX,w
841 021F' 3E00' addlw _AVERAGE^(0+256)
842 0220' 0084 movwf 4
843 0221' 1783 bsf 3,7
844 0222' 0800 movf 0,w
845 0223' 0080' movwf btemp
846 0224' 0A84 incf 4
847 0225' 0800 movf 0,w
848 0226' 0081' movwf btemp+1
849 0227' 0800' movf btemp,w
850 0228' 0080' movwf ?a_CapISR
851 0229' 0801' movf btemp+1,w
852 022A' 0081' movwf ?a_CapISR+1
853 022B' 0801' movf _VALUE+1,w
854 022C' 0081' movwf btemp+1
855 022D' 0800' movf _VALUE,w
856 022E' 0080' movwf btemp
857 022F' 0800' movf _SMALLAVG,w
858 0230' 0280' subwf btemp
859 0231' 1C03 btfss 3,0
860 0232' 0381' decf btemp+1
861 0233' 0801' movf _SMALLAVG+1,w
862 0234' 0281' subwf btemp+1
863 0235' 0800' movf ?a_CapISR,w
864 0236' 0780' addwf btemp
865 0237' 1803 btfsc 3,0
866 0238' 0A81' incf btemp+1
867 0239' 0801' movf ?a_CapISR+1,w
868 023A' 0781' addwf btemp+1
869 023B' 0800' movf _INDEX,w
870 023C' 0700' addwf _INDEX,w
871 023D' 3E00' addlw _AVERAGE^(0+256)
872 023E' 0084 movwf 4
873 023F' 1783 bsf 3,7
874 0240' 0800' movf btemp,w
875 0241' 0080 movwf 0
876 0242' 0A84 incf 4
877 0243' 0801' movf btemp+1,w
878 0244' 0080 movwf 0
879 0245' l188
880 ;main.c: 696: }
881 0245' 1880' btfsc _Flags,1
882 0246' 2800' goto l189
883 ;main.c: 703: SetNextChannel();
884 0247' 2000' 120A' 118A' fcall _SetNextChannel
885 024A' l189
886 ;main.c: 706: RestartTimers();
887 024A' 120A' 118A' 2800' ljmp _RestartTimers
888
889 psect text7
890 0000' _SetChannel
891 ; _idx assigned to ?a_SetChannel+0
892 0000 _SetChannel$idx set ?a_SetChannel
893 ;_idx stored from w
894 0000' 0183 clrf 3 ;select bank 0
895 0001' 0080' movwf ?a_SetChannel
896 ;main.c: 758: void SetChannel(char idx) {
897 0002' 0080' movwf _INDEX
898 ;main.c: 763: RB3 = (INDEX <= 8) ? 1 : 0;
899 0003' 3009 movlw 9
900 0004' 0200' subwf _INDEX,w
901 0005' 1803 btfsc 3,0
902 0006' 2800' goto u1330
903 0007' 1586 bsf 6,3
904 0008' 2800' goto u1344
905 0009' u1330
906 0009' 1186 bcf 6,3
907 000A' u1344
908 ;main.c: 764: PORTB &= 0xF8;
909 000A' 30F8 movlw -8
910 000B' 0586 andwf 6 ;volatile
911 ;main.c: 765: PORTB |= ( ( (INDEX-1) % 8) & 0x0
+ 7 );
912 000C' 0300' decf _INDEX,w
913 000D' 3907 andlw 7
914 000E' 0486 iorwf 6 ;volatile
915 ;main.c: 768: if (INDEX == 0) {
916 000F' 0880' movf _INDEX
917 0010' 1D03 btfss 3,2
918 0011' 2800' goto l196
919 ;main.c: 769: CM1CON0 = COMP1[0];
920 0012' 120A' 118A' 2000' fcall _COMP1
921 0015' 1703 bsf 3,6
922 0016' 0087 movwf 7 ;volatile
923 ;main.c: 770: CM2CON0 = COMP2[0];
924 0017' 120A' 118A' 2000' fcall _COMP2
+ 120A' 118A'
925 001C' 2800' goto L19
926 ;main.c: 771: } else {
927 001D' l196
928 ;main.c: 772: CM1CON0 = COMP1[1];
929 001D' 3000' movlw _COMP1 shr (0+8)
930 001E' 008A movwf 10
931 001F' 3001 movlw 1
932 0020' 2000' call ((_COMP1+-1)& (0+2047))| (($)& (0+-2048))
933 0021' 1703 bsf 3,6
934 0022' 0087 movwf 7 ;volatile
935 ;main.c: 773: CM2CON0 = COMP2[1];
936 0023' 3000' movlw _COMP2 shr (0+8)
937 0024' 008A movwf 10
938 0025' 3001 movlw 1
939 0026' 2000' call ((_COMP2+-1)& (0+2047))| (($)& (0+-2048))
940 0027' 120A' 118A' pagesel $
941 0029' L19
942 0029' 0088 movwf 8 ;volatile
943 ;main.c: 774: }
944 002A' 1303 bcf 3,6 ;carry unused
945 002B' 0008 return ;W free
946 002C' _RestartTimers
947 ;main.c: 411: void RestartTimers(void) {
948 002C' 0183 clrf 3 ;select bank 0
949 002D' 018E clrf 14 ;volatile
950 ;main.c: 414: TMR1H = 0;
951 002E' 018F clrf 15 ;volatile
952 ;main.c: 415: TMR1ON = 1;
953 002F' 1410 bsf 16,0
954 ;main.c: 416: TMR0 = 0;
955 0030' 0181 clrf 1 ;volatile
956 ;main.c: 417: T0IF = 0;
957 0031' 110B bcf 11,2
958 ;main.c: 418: }
959 0032' 0008 return ;W free
960 0033' _CapInit
961 ;main.c: 429: void CapInit(void) {
962 0033' 0183 clrf 3 ;select bank 0
963 0034' 0180' clrf _INDEX
964 0035' 2800' goto l119
965 0036' l116
966 ;main.c: 434: if (INDEX != 0 && INDEX < 11) {
967 0036' 0880' movf _INDEX
968 0037' 1903 btfsc 3,2
969 0038' 2800' goto l120
970 0039' 300B movlw 11
971 003A' 0200' subwf _INDEX,w
972 003B' 1803 btfsc 3,0
973 003C' 2800' goto l120
974 ;main.c: 436: RAW[INDEX] = 0;
975 003D' 0800' movf _INDEX,w
976 003E' 0700' addwf _INDEX,w
977 003F' 3E00' addlw _RAW^(0+256)
978 0040' 0084 movwf 4
979 0041' 1783 bsf 3,7
980 0042' 0180 clrf 0
981 0043' 0A84 incf 4
982 0044' 0180 clrf 0
983 ;main.c: 437: AVERAGE[INDEX] = 0;
984 0045' 0800' movf _INDEX,w
985 0046' 0700' addwf _INDEX,w
986 0047' 3E00' addlw _AVERAGE^(0+256)
987 0048' 0084 movwf 4
988 0049' 1783 bsf 3,7
989 004A' 0180 clrf 0
990 004B' 0A84 incf 4
991 004C' 0180 clrf 0
992 ;main.c: 438: GUARD[INDEX] = 60;
993 004D' 0800' movf _INDEX,w
994 004E' 0700' addwf _INDEX,w
995 004F' 3E00' addlw _GUARD^(0+256)
996 0050' 0084 movwf 4
997 0051' 1783 bsf 3,7
998 0052' 303C movlw 60
999 0053' 0080 movwf 0
1000 0054' 0A84 incf 4
1001 0055' 0180 clrf 0
1002 ;main.c: 439: TRIP[INDEX] = 145;
1003 0056' 0800' movf _INDEX,w
1004 0057' 0700' addwf _INDEX,w
1005 0058' 3E00' addlw _TRIP^(0+256)
1006 0059' 0084 movwf 4
1007 005A' 1783 bsf 3,7
1008 005B' 3091 movlw 145
1009 005C' 0080 movwf 0
1010 005D' 0A84 incf 4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -