📄 dj485p9k.lst
字号:
945 ;DJ485P9K.C: 714: }
946 0F9E 0008 return
947 ;DJ485P9K.C: 719: void Rs485UpdateCrc( char cVa
+ l )
948 ;DJ485P9K.C: 720: {
949 0F9F _Rs485UpdateCrc
950 ; _cVal assigned to ?a_Rs485UpdateCrc+0
951 0000 _Rs485UpdateCrc$cVal set ?a_Rs485UpdateCrc
952 ;_cVal stored from w
953 0F9F 0183 clrf 3 ;select bank 0
954 0FA0 00CC movwf ?a_Rs485UpdateCrc
955 ;DJ485P9K.C: 721: CRC16_Update4Bits( cVal >> 4
+ );
956 0FA1 0E4C swapf ?a_Rs485UpdateCrc,w
957 0FA2 390F andlw 15
958 0FA3 2781 120A 158A fcall _CRC16_Update4Bits
959 ;DJ485P9K.C: 722: CRC16_Update4Bits( cVal & 0x0
+ F );
960 0FA6 084C movf ?a_Rs485UpdateCrc,w
961 0FA7 390F andlw 15
962 0FA8 2F81 ljmp _CRC16_Update4Bits
963 ;DJ485P9K.C: 685: void CRC16_Init( void )
964 ;DJ485P9K.C: 686: {
965 0FA9 _CRC16_Init
966 ;DJ485P9K.C: 688: cCalcCrcHigh = 0xFF;
967 0FA9 30FF movlw -1
968 0FAA 0183 clrf 3 ;select bank 0
969 0FAB 00A7 movwf _cCalcCrcHigh
970 ;DJ485P9K.C: 689: cCalcCrcLow = 0xFF;
971 0FAC 00A8 movwf _cCalcCrcLow
972 ;DJ485P9K.C: 690: }
973 0FAD 0008 return
974 ;DJ485P9K.C: 817: char PostValidatePacket(void)
975 ;DJ485P9K.C: 818: {
976 0FAE _PostValidatePacket
977 ; _d assigned to ?a_PostValidatePacket+0
978 0000 _PostValidatePacket$d set ?a_PostValidatePacket
979 ; _c assigned to ?a_PostValidatePacket+1
980 0000 _PostValidatePacket$c set ?a_PostValidatePacket
+ +1
981 ;DJ485P9K.C: 819: char c, d;
982 0FAE 27A9 fcall _CRC16_Init
983 ;DJ485P9K.C: 822: Rs485UpdateCrc(0x02);
984 0FAF 3002 movlw 2
985 0FB0 279F 120A 158A fcall _Rs485UpdateCrc
986 ;DJ485P9K.C: 823: Rs485UpdateCrc(cNetAddrHigh);
987 0FB3 082E movf _cNetAddrHigh,w
988 0FB4 279F 120A 158A fcall _Rs485UpdateCrc
989 ;DJ485P9K.C: 824: Rs485UpdateCrc(cNetAddrLow);
990 0FB7 082F movf _cNetAddrLow,w
991 0FB8 279F 120A 158A fcall _Rs485UpdateCrc
992 ;DJ485P9K.C: 825: Rs485UpdateCrc(cLenExpected);
993 0FBB 082C movf _cLenExpected,w
994 0FBC 279F 120A 158A fcall _Rs485UpdateCrc
995 ;DJ485P9K.C: 826: Rs485UpdateCrc(cCommand);
996 0FBF 082A movf _cCommand,w
997 0FC0 279F 120A 158A fcall _Rs485UpdateCrc
998 ;DJ485P9K.C: 828: if ( PacketHasPayload() )
999 0FC3 2693 fcall _PacketHasPayload
1000 0FC4 3800 iorlw 0
1001 0FC5 1903 btfsc 3,2
1002 0FC6 2FD7 goto l120
1003 ;DJ485P9K.C: 829: {
1004 0FC7 01C8 clrf ?a_PostValidatePacket+1
1005 0FC8 l124
1006 0FC8 082C movf _cLenExpected,w
1007 0FC9 0248 subwf ?a_PostValidatePacket+1,w
1008 0FCA 1803 btfsc 3,0
1009 0FCB 2FD7 goto l120
1010 ;DJ485P9K.C: 831: {
1011 ;DJ485P9K.C: 832: d = c485Buf[c];
1012 0FCC 0848 movf ?a_PostValidatePacket+1,w
1013 0FCD 3EB6 addlw _c485Buf
1014 0FCE 0084 movwf 4
1015 0FCF 1383 bcf 3,7
1016 0FD0 0800 movf 0,w
1017 0FD1 00C7 movwf ?a_PostValidatePacket
1018 ;DJ485P9K.C: 833: Rs485UpdateCrc( d );
1019 0FD2 279F 120A 158A fcall _Rs485UpdateCrc
1020 ;DJ485P9K.C: 834: }
1021 0FD5 0AC8 incf ?a_PostValidatePacket+1
1022 0FD6 2FC8 goto l124
1023 0FD7 l120
1024 ;DJ485P9K.C: 835: }
1025 0FD7 0835 movf _cRxCrcHigh,w
1026 0FD8 0627 xorwf _cCalcCrcHigh,w
1027 0FD9 1D03 btfss 3,2
1028 0FDA 2FE2 goto l125
1029 0FDB 0836 movf _cRxCrcLow,w
1030 0FDC 0628 xorwf _cCalcCrcLow,w
1031 0FDD 1D03 btfss 3,2
1032 0FDE 2FE2 goto l125
1033 ;DJ485P9K.C: 839: {
1034 0FDF 3009 movlw 9
1035 0FE0 00B3 movwf _cRS485State
1036 ;DJ485P9K.C: 841: }
1037 0FE1 2FFE goto l126
1038 0FE2 l125
1039 ;DJ485P9K.C: 843: {
1040 0FE2 3002 movlw 2
1041 0FE3 00AB movwf _cError
1042 ;DJ485P9K.C: 845: cRS485State = 255;
1043 0FE4 30FF movlw -1
1044 0FE5 00B3 movwf _cRS485State
1045 ;DJ485P9K.C: 847: BinToHexAscii(cRxCrcHigh );
1046 0FE6 0835 movf _cRxCrcHigh,w
1047 ;DJ485P9K.C: 737: }
1048 0FE7 0183 clrf 3 ;select bank 0
1049 ;DJ485P9K.C: 848: BinToHexAscii(cRxCrcLow );
1050 0FE8 0836 movf _cRxCrcLow,w
1051 ;DJ485P9K.C: 737: }
1052 0FE9 0183 clrf 3 ;select bank 0
1053 ;DJ485P9K.C: 850: BinToHexAscii(cCalcCrcHigh);
1054 0FEA 0827 movf _cCalcCrcHigh,w
1055 ;DJ485P9K.C: 737: }
1056 0FEB 0183 clrf 3 ;select bank 0
1057 ;DJ485P9K.C: 851: BinToHexAscii(cCalcCrcHigh);
1058 0FEC 0827 movf _cCalcCrcHigh,w
1059 ;DJ485P9K.C: 737: }
1060 0FED 0183 clrf 3 ;select bank 0
1061 ;DJ485P9K.C: 852: delay_ms(255);
1062 0FEE 30FF movlw 255
1063 0FEF 00CC movwf ?_delay_ms
1064 0FF0 01CD clrf ?_delay_ms+1
1065 0FF1 25E6 fcall _delay_ms
1066 ;DJ485P9K.C: 853: delay_ms(255);
1067 0FF2 30FF movlw 255
1068 0FF3 00CC movwf ?_delay_ms
1069 0FF4 01CD clrf ?_delay_ms+1
1070 0FF5 25E6 fcall _delay_ms
1071 ;DJ485P9K.C: 854: delay_ms(255);
1072 0FF6 30FF movlw 255
1073 0FF7 00CC movwf ?_delay_ms
1074 0FF8 01CD clrf ?_delay_ms+1
1075 0FF9 25E6 fcall _delay_ms
1076 ;DJ485P9K.C: 855: delay_ms(255);
1077 0FFA 30FF movlw 255
1078 0FFB 00CC movwf ?_delay_ms
1079 0FFC 01CD clrf ?_delay_ms+1
1080 0FFD 25E6 fcall _delay_ms
1081 0FFE l126
1082 ;DJ485P9K.C: 856: }
1083 ;DJ485P9K.C: 858: return cRS485State;
1084 0FFE 0833 movf _cRS485State,w
1085 ;DJ485P9K.C: 859: }
1086 0FFF 0008 return
1087
1088 psect const4
1089 ;DJ485P9K.C: 670: const char CRC16_LookupHigh[1
+ 6] = {
1090 ;DJ485P9K.C: 671: 0x00, 0x10, 0x20, 0x30, 0x40,
+ 0x50, 0x60, 0x70,
1091 ;DJ485P9K.C: 672: 0x81, 0x91, 0xA1, 0xB1, 0xC1,
+ 0xD1, 0xE1, 0xF1
1092 ;DJ485P9K.C: 673: };
1093 0800 0782 addwf 2
1094 0801 _CRC16_LookupHigh
1095 0801 3400 retlw 0
1096 0802 3410 retlw 16
1097 0803 3420 retlw 32
1098 0804 3430 retlw 48
1099 0805 3440 retlw 64
1100 0806 3450 retlw 80
1101 0807 3460 retlw 96
1102 0808 3470 retlw 112
1103 0809 3481 retlw -127
1104 080A 3491 retlw -111
1105 080B 34A1 retlw -95
1106 080C 34B1 retlw -79
1107 080D 34C1 retlw -63
1108 080E 34D1 retlw -47
1109 080F 34E1 retlw -31
1110 0810 34F1 retlw -15
1111
1112 psect const5
1113 ;DJ485P9K.C: 674: const char CRC16_LookupLow[16
+ ] = {
1114 ;DJ485P9K.C: 675: 0x00, 0x21, 0x42, 0x63, 0x84,
+ 0xA5, 0xC6, 0xE7,
1115 ;DJ485P9K.C: 676: 0x08, 0x29, 0x4A, 0x6B, 0x8C,
+ 0xAD, 0xCE, 0xEF
1116 ;DJ485P9K.C: 677: };
1117 009B 0782 addwf 2
1118 009C _CRC16_LookupLow
1119 009C 3400 retlw 0
1120 009D 3421 retlw 33
1121 009E 3442 retlw 66
1122 009F 3463 retlw 99
1123 00A0 3484 retlw -124
1124 00A1 34A5 retlw -91
1125 00A2 34C6 retlw -58
1126 00A3 34E7 retlw -25
1127 00A4 3408 retlw 8
1128 00A5 3429 retlw 41
1129 00A6 344A retlw 74
1130 00A7 346B retlw 107
1131 00A8 348C retlw -116
1132 00A9 34AD retlw -83
1133 00AA 34CE retlw -50
1134 00AB 34EF retlw -17
1135
1136 psect text17
1137 ;DJ485P9K.C: 731: void BinToHexAscii( char c )
1138 ;DJ485P9K.C: 732: {
1139 0DB5 _BinToHexAscii
1140 ;DJ485P9K.C: 737: }
1141 0DB5 0183 clrf 3 ;select bank 0
1142 0DB6 0008 return
1143
1144 psect const6
1145 ;DJ485P9K.C: 733: const char hexMap[17] = "0123
+ 456789ABCDEF";
1146 0089 0782 addwf 2
1147 008A 3430 retlw 48
1148 008B 3431 retlw 49
1149 008C 3432 retlw 50
1150 008D 3433 retlw 51
1151 008E 3434 retlw 52
1152 008F 3435 retlw 53
1153 0090 3436 retlw 54
1154 0091 3437 retlw 55
1155 0092 3438 retlw 56
1156 0093 3439 retlw 57
1157 0094 3441 retlw 65
1158 0095 3442 retlw 66
1159 0096 3443 retlw 67
1160 0097 3444 retlw 68
1161 0098 3445 retlw 69
1162 0099 3446 retlw 70
1163 009A 3400 retlw 0
1164
1165 psect text20
1166 00E0 _Rs485GetPacket
1167 ; _cCom assigned to ?a_Rs485GetPacket+0
1168 0000 _Rs485GetPacket$cCom set ?a_Rs485GetPacket
1169 ; _r assigned to ?a_Rs485GetPacket+1
1170 0000 _Rs485GetPacket$r set ?a_Rs485GetPacket+1
1171 ; _c assigned to ?a_Rs485GetPacket+2
1172 0000 _Rs485GetPacket$c set ?a_Rs485GetPacket+2
1173 ;_cCom stored from w
1174 00E0 0183 clrf 3 ;select bank 0
1175 00E1 00C7 movwf ?a_Rs485GetPacket
1176 ;DJ485P9K.C: 870: char c;
1177 00E2 0084 movwf 4
1178 00E3 1383 bcf 3,7
1179 00E4 082A movf _cCommand,w
1180 00E5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -