?? modbus.lst
字號:
1040 05F0 1383 bcf 3,7
1041 05F1 0800 movf 0,w
1042 05F2 00F3 movwf btemp+3
1043 05F3 01F2 clrf btemp+2
1044 05F4 0349 decf ?a_checkComm0Modbus+2,w
1045 05F5 3E21 addlw _receBuf
1046 05F6 0084 movwf 4
1047 05F7 1383 bcf 3,7
1048 05F8 0800 movf 0,w
1049 05F9 00F0 movwf btemp
1050 05FA 01F1 clrf btemp+1
1051 05FB 0872 movf btemp+2,w
1052 05FC 07F0 addwf btemp
1053 05FD 1803 btfsc 3,0
1054 05FE 0AF1 incf btemp+1
1055 05FF 0873 movf btemp+3,w
1056 0600 07F1 addwf btemp+1
1057 0601 0848 movf ?a_checkComm0Modbus+1,w
1058 0602 0671 xorwf btemp+1,w
1059 0603 1D03 btfss 3,2
1060 0604 2E07 goto u265
1061 0605 0847 movf ?a_checkComm0Modbus,w
1062 0606 0670 xorwf btemp,w
1063 0607 u265
1064 0607 1D03 btfss 3,2
1065 0608 2E0C goto l60
1066 ;modbus.c: 383: {
1067 0609 27AE 120A 118A fcall _presetMultipleRegisters
1068 060C l60
1069 ;modbus.c: 385: }
1070 060C 01C1 clrf _receCount
1071 ;modbus.c: 388: }
1072 ;modbus.c: 390: default:
1073 ;modbus.c: 391: break;
1074 060D 2E22 goto l39
1075 060E l40
1076 060E 1283 bcf 3,5
1077 060F 0822 movf _receBuf+1,w
1078 0610 3A01 xorlw 1
1079 0611 1903 btfsc 3,2
1080 0612 2D3A goto l44
1081 0613 3A02 xorlw 2
1082 0614 1903 btfsc 3,2
1083 0615 2D3A goto l44
1084 0616 3A06 xorlw 6
1085 0617 1903 btfsc 3,2
1086 0618 2D3A goto l44
1087 0619 3A03 xorlw 3
1088 061A 1903 btfsc 3,2
1089 061B 2D3A goto l44
1090 061C 3A09 xorlw 9
1091 061D 1903 btfsc 3,2
1092 061E 2D85 goto l54
1093 061F 3A1F xorlw 31
1094 0620 1903 btfsc 3,2
1095 0621 2DC4 goto l58
1096 0622 l39
1097 ;modbus.c: 394: g_bRcvedOK = 0;
1098 0622 1703 bsf 3,6
1099 0623 01A1 clrf _g_bRcvedOK^(0+256)
1100 ;modbus.c: 395: receCount = 0;
1101 0624 1303 bcf 3,6 ;carry unused
1102 0625 01C1 clrf _receCount
1103 ;modbus.c: 396: TXIE = 0;
1104 0626 1683 bsf 3,5
1105 0627 120C bcf 12,4
1106 ;modbus.c: 397: TXEN = 0;
1107 0628 1298 bcf 24,5
1108 ;modbus.c: 398: RCIE = 1;
1109 0629 168C bsf 12,5
1110 ;modbus.c: 399: TMR2IE = 1;
1111 062A 148C bsf 12,1
1112 ;modbus.c: 400: }
1113 062B l35
1114 062B 0183 clrf 3 ;select bank 0
1115 062C 0008 return ;W free
1116 062D _getCoilVal
1117 ; _tempAddr assigned to ?a_getCoilVal+0
1118 0000 _getCoilVal$tempAddr set ?a_getCoilVal
1119 ; _result assigned to ?a_getCoilVal+2
1120 0000 _getCoilVal$result set ?a_getCoilVal+2
1121 ;modbus.c: 402: uint16 getCoilVal(uint16 addr,u
+ int16 *tempData)
1122 062D 0183 clrf 3 ;select bank 0
1123 062E 01DE clrf ?a_getCoilVal+2
1124 062F 01DF clrf ?a_getCoilVal+3
1125 ;modbus.c: 405: uint16 tempAddr;
1126 0630 30FF movlw 255
1127 0631 0559 andwf ?_getCoilVal,w
1128 0632 00DC movwf ?a_getCoilVal
1129 0633 300F movlw 15
1130 0634 055A andwf ?_getCoilVal+1,w
1131 0635 00DD movwf ?a_getCoilVal+1
1132 ;modbus.c: 409: switch(tempAddr & 0xff)
1133 0636 2E3B goto l65
1134 ;modbus.c: 410: {
1135 ;modbus.c: 412: result = 0x01;
1136 ;modbus.c: 413: break;
1137 ;modbus.c: 414: case 131:
1138 ;modbus.c: 415: result = 0x01;
1139 ;modbus.c: 416: break;
1140 ;modbus.c: 417: case 132:
1141 ;modbus.c: 418: result = 0x01;
1142 ;modbus.c: 419: break;
1143 ;modbus.c: 420: case 133:
1144 ;modbus.c: 421: result = 0x01;
1145 ;modbus.c: 422: break;
1146 ;modbus.c: 423: case 134:
1147 ;modbus.c: 424: result = 0x01;
1148 ;modbus.c: 425: break;
1149 0637 l71
1150 ;modbus.c: 426: case 135:
1151 ;modbus.c: 427: result = 0x01;
1152 0637 01DE clrf ?a_getCoilVal+2
1153 0638 0ADE incf ?a_getCoilVal+2
1154 0639 01DF clrf ?a_getCoilVal+3
1155 ;modbus.c: 428: break;
1156 ;modbus.c: 432: default:
1157 ;modbus.c: 433: break;
1158 063A 2E58 goto l64
1159 063B l65
1160 063B 085D movf ?a_getCoilVal+1,w
1161 063C 00F3 movwf btemp+3
1162 063D 085C movf ?a_getCoilVal,w
1163 063E 00F2 movwf btemp+2
1164 063F 01F3 clrf btemp+3
1165 0640 2E55 goto l30003
1166 0641 l30004
1167 0641 0872 movf btemp+2,w
1168 0642 3A82 xorlw 130
1169 0643 1903 btfsc 3,2
1170 0644 2E37 goto l71
1171 0645 3A01 xorlw 1
1172 0646 1903 btfsc 3,2
1173 0647 2E37 goto l71
1174 0648 3A07 xorlw 7
1175 0649 1903 btfsc 3,2
1176 064A 2E37 goto l71
1177 064B 3A01 xorlw 1
1178 064C 1903 btfsc 3,2
1179 064D 2E37 goto l71
1180 064E 3A03 xorlw 3
1181 064F 1903 btfsc 3,2
1182 0650 2E37 goto l71
1183 0651 3A01 xorlw 1
1184 0652 1903 btfsc 3,2
1185 0653 2E37 goto l71
1186 0654 2E58 goto l64
1187 0655 l30003
1188 0655 0873 movf btemp+3,w
1189 0656 1903 btfsc 3,2
1190 0657 2E41 goto l30004
1191 0658 l64
1192 ;modbus.c: 436: return result;
1193 0658 085F movf ?a_getCoilVal+3,w
1194 0659 00F1 movwf btemp+1
1195 065A 085E movf ?a_getCoilVal+2,w
1196 065B 00F0 movwf btemp
1197 ;modbus.c: 437: }
1198 065C 0008 return ;W free
1199 065D _readCoil
1200 ; _addr assigned to ?a_readCoil+0
1201 0000 _readCoil$addr set ?a_readCoil
1202 ; _exit assigned to ?a_readCoil+1
1203 0000 _readCoil$exit set ?a_readCoil+1
1204 ; _position assigned to ?a_readCoil+2
1205 0000 _readCoil$position set ?a_readCoil+2
1206 ; _bitCount assigned to ?a_readCoil+3
1207 0000 _readCoil$bitCount set ?a_readCoil+3
1208 ; _i assigned to ?a_readCoil+4
1209 0000 _readCoil$i set ?a_readCoil+4
1210 ; _k assigned to ?a_readCoil+5
1211 0000 _readCoil$k set ?a_readCoil+5
1212 ; _tempAddr assigned to ?a_readCoil+6
1213 0000 _readCoil$tempAddr set ?a_readCoil+6
1214 ; _byteCount assigned to ?a_readCoil+7
1215 0000 _readCoil$byteCount set ?a_readCoil+7
1216 ; _tempData assigned to ?a_readCoil+8
1217 0000 _readCoil$tempData set ?a_readCoil+8
1218 ; _crcData assigned to ?a_readCoil+10
1219 0000 _readCoil$crcData set ?a_readCoil+10
1220 ; _tempData1 assigned to ?a_readCoil+12
1221 0000 _readCoil$tempData1 set ?a_readCoil+12
1222 ;modbus.c: 100: void readCoil(void)
1223 065D 0183 clrf 3 ;select bank 0
1224 065E 01D7 clrf ?a_readCoil+12
1225 065F 01D8 clrf ?a_readCoil+13
1226 ;modbus.c: 112: uint8 exit = 0;
1227 0660 01CC clrf ?a_readCoil+1
1228 ;modbus.c: 116: addr = receBuf[3];
1229 0661 0824 movf _receBuf+3,w
1230 0662 00CB movwf ?a_readCoil
1231 ;modbus.c: 117: tempAddr = addr;
1232 0663 00D1 movwf ?a_readCoil+6
1233 ;modbus.c: 120: bitCount = receBuf[5];
1234 0664 0826 movf _receBuf+5,w
1235 0665 00CE movwf ?a_readCoil+3
1236 ;modbus.c: 122: byteCount = bitCount / 8;
1237 0666 00F0 movwf btemp
1238 0667 1003 bcf 3,0
1239 0668 0CF0 rrf btemp
1240 0669 1003 bcf 3,0
1241 066A 0CF0 rrf btemp
1242 066B 1003 bcf 3,0
1243 066C 0C70 rrf btemp,w
1244 066D 00D2 movwf ?a_readCoil+7
1245 ;modbus.c: 123: if(bitCount%8 != 0)
1246 066E 084E movf ?a_readCoil+3,w
1247 066F 3907 andlw 7
1248 0670 1D03 btfss 3,2
1249 ;modbus.c: 124: byteCount++;
1250 0671 0AD2 incf ?a_readCoil+7
1251 ;modbus.c: 126: for(k=0;k<byteCount;k++)
1252 0672 01D0 clrf ?a_readCoil+5
1253 0673 l11
1254 0673 0852 movf ?a_readCoil+7,w
1255 0674 0250 subwf ?a_readCoil+5,w
1256 0675 1803 btfsc 3,0
1257 0676 2EBF goto l9
1258 ;modbus.c: 127: {
1259 0677 0850 movf ?a_readCoil+5,w
1260 0678 3E03 addlw 3
1261 0679 00CD movwf ?a_readCoil+2
1262 ;modbus.c: 129: sendBuf[position] = 0;
1263 067A 3E31 addlw _sendBuf
1264 067B 0084 movwf 4
1265 067C 1383 bcf 3,7
1266 067D 0180 clrf 0
1267 ;modbus.c: 130: for(i=0;i<8;i++)
1268 067E 01CF clrf ?a_readCoil+4
1269 067F l12
1270 ;modbus.c: 131: {
1271 067F 0851 movf ?a_readCoil+6,w
1272 0680 00D9 movwf ?_getCoilVal
1273 0681 01DA clrf ?_getCoilVal+1
1274 0682 3053 movlw ?a_readCoil+8
1275 0683 00DB movwf ?_getCoilVal+2
1276 0684 262D fcall _getCoilVal
1277 0685 0870 movf btemp,w
1278 0686 00D7 movwf ?a_readCoil+12
1279 0687 0871 movf btemp+1,w
1280 0688 00D8 movwf ?a_readCoil+13
1281 ;modbus.c: 134: sendBuf[position] |= tempData1<
+ < i;
1282 0689 084D movf ?a_readCoil+2,w
1283 068A 3E31 addlw _sendBuf
1284 068B 0084 movwf 4
1285 068C 1383 bcf 3,7
1286 068D 0857 movf ?a_readCoil+12,w
1287 068E 00F0 movwf btemp
1288 068F 084F movf ?a_readCoil+4,w
1289 0690 00F1 movwf btemp+1
1290 0691 0AF1 incf btemp+1
1291 0692 2E95 goto u34
1292 0693 u35
1293 0693 1003 bcf 3,0
1294 0694 0DF0 rlf btemp
1295 0695 u34
1296 0695 0BF1 decfsz btemp+1
1297 0696 2E93 goto u35
1298 0697 0870 movf btemp,w
1299 0698 0480 iorwf 0
1300
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -