📄 dj485p9k.lst
字号:
713 0F0C 3A01 xorlw 1
714 0F0D 1903 btfsc 3,2
715 0F0E 2F13 goto l28
716 0F0F 3AF6 xorlw 246
717 0F10 1903 btfsc 3,2
718 0F11 2F13 goto l28
719 ;DJ485P9K.C: 335: default: cRS485State = 0;
720 0F12 01B3 clrf _cRS485State
721 0F13 l28
722 ;DJ485P9K.C: 339: return cRS485State;
723 0F13 0833 movf _cRS485State,w
724 ;DJ485P9K.C: 340: }
725 0F14 0008 return
726 ;DJ485P9K.C: 345: char IntRs485Decode( void )
727 ;DJ485P9K.C: 346: {
728 0F15 _IntRs485Decode
729 ;DJ485P9K.C: 347: switch ( cRS485State )
730 0F15 2F5B goto l50
731 0F16 l51
732 ;DJ485P9K.C: 348: {
733 0F16 0834 movf _cRs485RxChar,w
734 0F17 00B7 movwf _cStart
735 ;DJ485P9K.C: 350: if ( cRs485RxChar == 0x02 )
736 0F18 0834 movf _cRs485RxChar,w
737 0F19 3A02 xorlw 2
738 0F1A 1D03 btfss 3,2
739 0F1B 2F7F goto l49
740 ;DJ485P9K.C: 351: {
741 0F1C 0AB3 incf _cRS485State
742 ;DJ485P9K.C: 353: asm("nop");
743 0F1D 0000 nop ;#
744 ;DJ485P9K.C: 354: asm("nop");
745 0F1E 0000 nop ;#
746 ;DJ485P9K.C: 355: }
747 0F1F 2F7F goto l49
748 0F20 l53
749 ;DJ485P9K.C: 358: case 1: cNetAddrHigh = cRs485
+ RxChar;
750 0F20 0834 movf _cRs485RxChar,w
751 0F21 00AE movwf _cNetAddrHigh
752 ;DJ485P9K.C: 359: asm("nop");
753 0F22 0000 nop ;#
754 ;DJ485P9K.C: 360: asm("nop");
755 0F23 0000 nop ;#
756 0F24 2F54 goto L5
757 ;DJ485P9K.C: 361: cRS485State++;
758 ;DJ485P9K.C: 362: break;
759 0F25 l54
760 ;DJ485P9K.C: 364: case 2: cNetAddrLow = cRs485R
+ xChar;
761 0F25 0834 movf _cRs485RxChar,w
762 0F26 00AF movwf _cNetAddrLow
763 0F27 2F54 goto L5
764 ;DJ485P9K.C: 365: cRS485State++;
765 ;DJ485P9K.C: 366: break;
766 0F28 l55
767 ;DJ485P9K.C: 368: case 3: cLenExpected = cRs485
+ RxChar;
768 0F28 0834 movf _cRs485RxChar,w
769 0F29 00AC movwf _cLenExpected
770 ;DJ485P9K.C: 369: testlend =cRs485RxChar;
771 0F2A 0834 movf _cRs485RxChar,w
772 0F2B 00BB movwf _testlend
773 ;DJ485P9K.C: 370: asm("nop");
774 0F2C 0000 nop ;#
775 ;DJ485P9K.C: 371: if ( cLenExpected > sizeof(c4
+ 85Buf) )
776 0F2D 3024 movlw 36
777 0F2E 022C subwf _cLenExpected,w
778 0F2F 1C03 btfss 3,0
779 0F30 2F36 goto l56
780 ;DJ485P9K.C: 372: {
781 0F31 30FF movlw -1
782 0F32 00B3 movwf _cRS485State
783 ;DJ485P9K.C: 374: cError = 1;
784 0F33 01AB clrf _cError
785 0F34 0AAB incf _cError
786 ;DJ485P9K.C: 375: }
787 0F35 2F7F goto l49
788 0F36 l56
789 ;DJ485P9K.C: 377: {
790 0F36 01A6 clrf _cBufPtr
791 0F37 2F54 goto L5
792 ;DJ485P9K.C: 379: cRS485State++;
793 ;DJ485P9K.C: 380: }
794 ;DJ485P9K.C: 381: break;
795 0F38 l58
796 ;DJ485P9K.C: 383: case 4: cCommand = cRs485RxCh
+ ar;
797 0F38 0834 movf _cRs485RxChar,w
798 0F39 00AA movwf _cCommand
799 ;DJ485P9K.C: 384: if( PacketHasPayload() ) cRS4
+ 85State = 5;
800 0F3A 2693 fcall _PacketHasPayload
801 0F3B 3800 iorlw 0
802 0F3C 1D03 btfss 3,2
803 0F3D 2F42 goto u170
804 ;DJ485P9K.C: 385: else
805 ;DJ485P9K.C: 386: {
806 0F3E 082A movf _cCommand,w
807 0F3F 3AA5 xorlw -91
808 0F40 1D03 btfss 3,2
809 0F41 2F44 goto l61
810 0F42 u170
811 0F42 3005 movlw 5
812 0F43 2F59 goto L6
813 ;DJ485P9K.C: 388: else cRS485State = 6;
814 0F44 l61
815 0F44 3006 movlw 6
816 0F45 2F59 goto L6
817 ;DJ485P9K.C: 389: }
818 ;DJ485P9K.C: 390: break;
819 0F46 l63
820 ;DJ485P9K.C: 392: case 5: c485Buf[cBufPtr] = cR
+ s485RxChar;
821 0F46 0826 movf _cBufPtr,w
822 0F47 3EB6 addlw _c485Buf
823 0F48 0084 movwf 4
824 0F49 1383 bcf 3,7
825 0F4A 0834 movf _cRs485RxChar,w
826 0F4B 0080 movwf 0
827 ;DJ485P9K.C: 393: cBufPtr++;
828 0F4C 0AA6 incf _cBufPtr
829 ;DJ485P9K.C: 394: if ( cBufPtr == cLenExpected
+ )
830 0F4D 0826 movf _cBufPtr,w
831 0F4E 062C xorwf _cLenExpected,w
832 0F4F 1D03 btfss 3,2
833 0F50 2F7F goto l49
834 0F51 2F54 goto L5
835 ;DJ485P9K.C: 395: {
836 ;DJ485P9K.C: 397: }
837 0F52 l65
838 ;DJ485P9K.C: 400: case 6: cRxCrcHigh = cRs485Rx
+ Char;
839 0F52 0834 movf _cRs485RxChar,w
840 0F53 00B5 movwf _cRxCrcHigh
841 0F54 L5
842 ;DJ485P9K.C: 401: cRS485State++;
843 0F54 0AB3 incf _cRS485State
844 ;DJ485P9K.C: 402: break;
845 0F55 2F7F goto l49
846 0F56 l66
847 ;DJ485P9K.C: 404: case 7: cRxCrcLow = cRs485RxC
+ har;
848 0F56 0834 movf _cRs485RxChar,w
849 0F57 00B6 movwf _cRxCrcLow
850 ;DJ485P9K.C: 405: cRS485State = 8;
851 0F58 3008 movlw 8
852 0F59 L6
853 0F59 00B3 movwf _cRS485State
854 ;DJ485P9K.C: 406: break;
855 ;DJ485P9K.C: 408: case 8: break;
856 ;DJ485P9K.C: 409: case 9: break;
857 ;DJ485P9K.C: 410: case 255: break;
858 0F5A 2F7F goto l49
859 ;DJ485P9K.C: 413: break;
860 0F5B l50
861 0F5B 1283 bcf 3,5
862 0F5C 1303 bcf 3,6 ;carry unused
863 0F5D 0833 movf _cRS485State,w
864 0F5E 1903 btfsc 3,2
865 0F5F 2F16 goto l51
866 0F60 3A01 xorlw 1
867 0F61 1903 btfsc 3,2
868 0F62 2F20 goto l53
869 0F63 3A03 xorlw 3
870 0F64 1903 btfsc 3,2
871 0F65 2F25 goto l54
872 0F66 3A01 xorlw 1
873 0F67 1903 btfsc 3,2
874 0F68 2F28 goto l55
875 0F69 3A07 xorlw 7
876 0F6A 1903 btfsc 3,2
877 0F6B 2F38 goto l58
878 0F6C 3A01 xorlw 1
879 0F6D 1903 btfsc 3,2
880 0F6E 2F46 goto l63
881 0F6F 3A03 xorlw 3
882 0F70 1903 btfsc 3,2
883 0F71 2F52 goto l65
884 0F72 3A01 xorlw 1
885 0F73 1903 btfsc 3,2
886 0F74 2F56 goto l66
887 0F75 3A0F xorlw 15
888 0F76 1903 btfsc 3,2
889 0F77 2F7F goto l49
890 0F78 3A01 xorlw 1
891 0F79 1903 btfsc 3,2
892 0F7A 2F7F goto l49
893 0F7B 3AF6 xorlw 246
894 0F7C 1903 btfsc 3,2
895 0F7D 2F7F goto l49
896 ;DJ485P9K.C: 412: default: cRS485State = 0;
897 0F7E 01B3 clrf _cRS485State
898 0F7F l49
899 ;DJ485P9K.C: 416: return cRS485State;
900 0F7F 0833 movf _cRS485State,w
901 ;DJ485P9K.C: 417: }
902 0F80 0008 return
903 ;DJ485P9K.C: 697: void CRC16_Update4Bits( char
+ val )
904 ;DJ485P9K.C: 698: {
905 0F81 _CRC16_Update4Bits
906 ; _val assigned to ?a_CRC16_Update4Bits+0
907 0000 _CRC16_Update4Bits$val set ?a_CRC16_Update4Bits
908 ; _t assigned to ?a_CRC16_Update4Bits+1
909 0000 _CRC16_Update4Bits$t set ?a_CRC16_Update4Bits+1
910 ;_val stored from w
911 0F81 0183 clrf 3 ;select bank 0
912 0F82 00CD movwf ?a_CRC16_Update4Bits
913 ;DJ485P9K.C: 699: char t;
914 0F83 0E27 swapf _cCalcCrcHigh,w
915 0F84 390F andlw 15
916 0F85 00CE movwf ?a_CRC16_Update4Bits+1
917 ;DJ485P9K.C: 705: t = t ^ val;
918 0F86 084D movf ?a_CRC16_Update4Bits,w
919 0F87 06CE xorwf ?a_CRC16_Update4Bits+1
920 ;DJ485P9K.C: 708: cCalcCrcHigh = (cCalcCrcHigh
+ << 4) | (cCalcCrcLow >> 4);
921 0F88 0E28 swapf _cCalcCrcLow,w
922 0F89 390F andlw 15
923 0F8A 00F0 movwf btemp
924 0F8B 0E27 swapf _cCalcCrcHigh,w
925 0F8C 39F0 andlw 240
926 0F8D 0470 iorwf btemp,w
927 0F8E 00A7 movwf _cCalcCrcHigh
928 ;DJ485P9K.C: 709: cCalcCrcLow = cCalcCrcLow <<
+ 4;
929 0F8F 0EA8 swapf _cCalcCrcLow
930 0F90 30F0 movlw 240
931 0F91 05A8 andwf _cCalcCrcLow
932 ;DJ485P9K.C: 712: cCalcCrcHigh = cCalcCrcHigh ^
+ CRC16_LookupHigh[t];
933 0F92 3008 movlw _CRC16_LookupHigh shr (0+8)
934 0F93 008A movwf 10
935 0F94 084E movf ?a_CRC16_Update4Bits+1,w
936 0F95 2000 call ((_CRC16_LookupHigh+-1)& (0+2047))| (($)&
+ (0+-2048))
937 0F96 06A7 xorwf _cCalcCrcHigh
938 ;DJ485P9K.C: 713: cCalcCrcLow = cCalcCrcLow ^ C
+ RC16_LookupLow[t];
939 0F97 3000 movlw _CRC16_LookupLow shr (0+8)
940 0F98 008A movwf 10
941 0F99 084E movf ?a_CRC16_Update4Bits+1,w
942 0F9A 209B call ((_CRC16_LookupLow+-1)& (0+2047))| (($)&
+ (0+-2048))
943 0F9B 120A 158A pagesel $
944 0F9D 06A8 xorwf _cCalcCrcLow
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -