📄 main887.lst
字号:
+ break;
738 060C 13B6 bcf _Buttons+1,7
739 060D 2E32 goto l173
740 060E l192
741 ;main887.c: 693: case 0: Buttons.PWR = 0; break
+ ;
742 060E 1037 bcf _Buttons+2,0
743 ;main887.c: 694: default: break;
744 060F 2E32 goto l173
745 0610 l175
746 0610 0824 movf _INDEX,w
747 0611 00FA movwf btemp
748 0612 3EEF addlw -17
749 0613 1803 btfsc 3,0
750 0614 2E32 goto l173
751 0615 3E11 addlw 17
752 0616 1C03 btfss 3,0
753 0617 2E32 goto l173
754 0618 3000 movlw 0
755 0619 02FA subwf btemp
756 061A 3006 movlw S30004 shr (0+8)
757 061B 008A movwf 10
758 061C 3021 movlw S30004& (0+255)
759 061D 077A addwf btemp,w
760 061E 1803 btfsc 3,0
761 061F 0A8A incf 10
762 0620 0082 movwf 2
763 0621 S30004
764 0621 2E0E goto l192
765 0622 2DEE goto l176
766 0623 2DF0 goto l177
767 0624 2DF2 goto l178
768 0625 2DF4 goto l179
769 0626 2DF6 goto l180
770 0627 2DF8 goto l181
771 0628 2DFA goto l182
772 0629 2DFC goto l183
773 062A 2DFE goto l184
774 062B 2E00 goto l185
775 062C 2E02 goto l186
776 062D 2E04 goto l187
777 062E 2E06 goto l188
778 062F 2E08 goto l189
779 0630 2E0A goto l190
780 0631 2E0C goto l191
781 0632 l173
782 ;main887.c: 696: }
783 0632 0824 movf _INDEX,w
784 0633 0724 addwf _INDEX,w
785 0634 3E10 addlw _AVERAGE^(0+256)
786 0635 0084 movwf 4
787 0636 1783 bsf 3,7
788 0637 0800 movf 0,w
789 0638 00FA movwf btemp
790 0639 0A84 incf 4
791 063A 0800 movf 0,w
792 063B 00FB movwf btemp+1
793 063C 082C movf _BIGVAL+1,w
794 063D 027B subwf btemp+1,w
795 063E 1D03 btfss 3,2
796 063F 2E42 goto u1365
797 0640 082B movf _BIGVAL,w
798 0641 027A subwf btemp,w
799 0642 u1365
800 0642 1803 btfsc 3,0
801 0643 2E6C goto l194
802 ;main887.c: 703: AVERAGE[INDEX] = AVERAGE[INDEX
+ ] + (VALUE - SMALLAVG);
803 0644 0824 movf _INDEX,w
804 0645 0724 addwf _INDEX,w
805 0646 3E10 addlw _AVERAGE^(0+256)
806 0647 0084 movwf 4
807 0648 1783 bsf 3,7
808 0649 0800 movf 0,w
809 064A 00FA movwf btemp
810 064B 0A84 incf 4
811 064C 0800 movf 0,w
812 064D 00FB movwf btemp+1
813 064E 087A movf btemp,w
814 064F 00BE movwf ?a_CapISR
815 0650 087B movf btemp+1,w
816 0651 00BF movwf ?a_CapISR+1
817 0652 0832 movf _VALUE+1,w
818 0653 00FB movwf btemp+1
819 0654 0831 movf _VALUE,w
820 0655 00FA movwf btemp
821 0656 082D movf _SMALLAVG,w
822 0657 02FA subwf btemp
823 0658 1C03 btfss 3,0
824 0659 03FB decf btemp+1
825 065A 082E movf _SMALLAVG+1,w
826 065B 02FB subwf btemp+1
827 065C 083E movf ?a_CapISR,w
828 065D 07FA addwf btemp
829 065E 1803 btfsc 3,0
830 065F 0AFB incf btemp+1
831 0660 083F movf ?a_CapISR+1,w
832 0661 07FB addwf btemp+1
833 0662 0824 movf _INDEX,w
834 0663 0724 addwf _INDEX,w
835 0664 3E10 addlw _AVERAGE^(0+256)
836 0665 0084 movwf 4
837 0666 1783 bsf 3,7
838 0667 087A movf btemp,w
839 0668 0080 movwf 0
840 0669 0A84 incf 4
841 066A 087B movf btemp+1,w
842 066B 0080 movwf 0
843 066C l194
844 ;main887.c: 704: }
845 066C 3004 movlw 4
846 066D 0220 subwf _AvgIndex,w
847 066E 1803 btfsc 3,0
848 066F 2E72 goto l195
849 0670 0AA0 incf _AvgIndex
850 0671 2E73 goto l196
851 0672 l195
852 ;main887.c: 712: else AvgIndex = 0;
853 0672 01A0 clrf _AvgIndex
854 0673 l196
855 ;main887.c: 714: if (AvgIndex == 4) {
856 0673 0820 movf _AvgIndex,w
857 0674 3A04 xorlw 4
858 0675 1D03 btfss 3,2
859 0676 2E9F goto l197
860 ;main887.c: 716: AVERAGE[INDEX] = AVERAGE[INDEX
+ ] + (VALUE - SMALLAVG);
861 0677 0824 movf _INDEX,w
862 0678 0724 addwf _INDEX,w
863 0679 3E10 addlw _AVERAGE^(0+256)
864 067A 0084 movwf 4
865 067B 1783 bsf 3,7
866 067C 0800 movf 0,w
867 067D 00FA movwf btemp
868 067E 0A84 incf 4
869 067F 0800 movf 0,w
870 0680 00FB movwf btemp+1
871 0681 087A movf btemp,w
872 0682 00BE movwf ?a_CapISR
873 0683 087B movf btemp+1,w
874 0684 00BF movwf ?a_CapISR+1
875 0685 0832 movf _VALUE+1,w
876 0686 00FB movwf btemp+1
877 0687 0831 movf _VALUE,w
878 0688 00FA movwf btemp
879 0689 082D movf _SMALLAVG,w
880 068A 02FA subwf btemp
881 068B 1C03 btfss 3,0
882 068C 03FB decf btemp+1
883 068D 082E movf _SMALLAVG+1,w
884 068E 02FB subwf btemp+1
885 068F 083E movf ?a_CapISR,w
886 0690 07FA addwf btemp
887 0691 1803 btfsc 3,0
888 0692 0AFB incf btemp+1
889 0693 083F movf ?a_CapISR+1,w
890 0694 07FB addwf btemp+1
891 0695 0824 movf _INDEX,w
892 0696 0724 addwf _INDEX,w
893 0697 3E10 addlw _AVERAGE^(0+256)
894 0698 0084 movwf 4
895 0699 1783 bsf 3,7
896 069A 087A movf btemp,w
897 069B 0080 movwf 0
898 069C 0A84 incf 4
899 069D 087B movf btemp+1,w
900 069E 0080 movwf 0
901 069F l197
902 ;main887.c: 717: }
903 069F 18A3 btfsc _Flags,1
904 06A0 2EA4 goto l198
905 ;main887.c: 722: SetNextChannel();
906 06A1 2446 120A 118A fcall _SetNextChannel
907 06A4 l198
908 ;main887.c: 725: RestartTimers();
909 06A4 120A 118A 28E2 ljmp _RestartTimers
910
911 psect text9
912 0072 _WakeupWheel
913 ;main887.c: 836: void WakeupWheel(void) {
914 0072 1683 bsf 3,5
915 0073 1303 bcf 3,6 ;carry unused
916 0074 118C bcf 12,3
917 ;main887.c: 842: SEN = 1;
918 0075 1411 bsf 17,0
919 ;main887.c: 843: while (SEN);
920 0076 l227
921 0076 1811 btfsc 17,0
922 0077 2876 goto l227
923 ;main887.c: 844: SSPBUF = 0x72;
924 0078 3072 movlw 114
925 0079 1283 bcf 3,5
926 007A 0093 movwf 19 ;volatile
927 ;main887.c: 845: while (RW);
928 007B l230
929 007B 1683 bsf 3,5
930 007C 1914 btfsc 20,2
931 007D 287B goto l230
932 ;main887.c: 846: SSPBUF = 0x50;
933 007E 3050 movlw 80
934 007F 1283 bcf 3,5
935 0080 0093 movwf 19 ;volatile
936 ;main887.c: 847: while (RW);
937 0081 l233
938 0081 1683 bsf 3,5
939 0082 1914 btfsc 20,2
940 0083 2881 goto l233
941 ;main887.c: 848: SSPBUF = 0x00;
942 0084 1283 bcf 3,5
943 0085 0193 clrf 19 ;volatile
944 ;main887.c: 849: while (RW);
945 0086 l236
946 0086 1683 bsf 3,5
947 0087 1914 btfsc 20,2
948 0088 2886 goto l236
949 ;main887.c: 850: SSPBUF = 0x00;
950 0089 1283 bcf 3,5
951 008A 0193 clrf 19 ;volatile
952 ;main887.c: 851: while (RW);
953 008B l239
954 008B 1683 bsf 3,5
955 008C 1914 btfsc 20,2
956 008D 288B goto l239
957 ;main887.c: 852: PEN = 1;
958 008E 1511 bsf 17,2
959 ;main887.c: 853: while (PEN);
960 008F l242
961 008F 1911 btfsc 17,2
962 0090 288F goto l242
963 ;main887.c: 854: SSPIE = 1;
964 0091 158C bsf 12,3
965 ;main887.c: 856: }
966 0092 1283 bcf 3,5
967 0093 0008 return ;W free
968 0094 _SetChannel
969 ; _idx assigned to ?a_SetChannel+0
970 0000 _SetChannel$idx set ?a_SetChannel
971 ;_idx stored from w
972 0094 0183 clrf 3 ;select bank 0
973 0095 00BC movwf ?a_SetChannel
974 ;main887.c: 777: void SetChannel(char idx) {
975 0096 00A4 movwf _INDEX
976 ;main887.c: 782: RB3 = (INDEX <= 8) ? 1 : 0;
977 0097 3009 movlw 9
978 0098 0224 subwf _INDEX,w
979 0099 1803 btfsc 3,0
980 009A 289D goto u1440
981 009B 1586 bsf 6,3
982 009C 289E goto u1454
983 009D u1440
984 009D 1186 bcf 6,3
985 009E u1454
986 ;main887.c: 783: PORTB &= 0xF8;
987 009E 30F8 movlw -8
988 009F 0586 andwf 6 ;volatile
989 ;main887.c: 784: PORTB |= ( ( (INDEX-1) % 8) &
+ 0x07 );
990 00A0 0324 decf _INDEX,w
991 00A1 3907 andlw 7
992 00A2 0486 iorwf 6 ;volatile
993 ;main887.c: 787: if (INDEX == 0) {
994 00A3 08A4 movf _INDEX
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -