📄 com.lst
字号:
234 03FB 01CE clrf ?a_searchCmdDataSum+1
235 03FC l7
236 ;com.c: 23: if (cmd==userCMD[i][2])
237 03FC 3003 movlw 3
238 03FD 00F1 movwf btemp+1
239 03FE 084E movf ?a_searchCmdDataSum+1,w
240 03FF 158A 27D3 fcall lbmul
241 0401 3E02 addlw 2
242 0402 00F0 movwf btemp
243 0403 3000 movlw _userCMD shr (0+8)
244 0404 008A movwf 10
245 0405 0870 movf btemp,w
246 0406 2082 call ((_userCMD+-1)& (0+2047))| (($)& (0+-2048
+ ))
247 0407 118A pagesel $
248 0408 064D xorwf ?a_searchCmdDataSum,w
249 0409 1D03 btfss 3,2
250 040A 2C19 goto l10
251 ;com.c: 24: return (userCMD[i][1]);
252 040B 3003 movlw 3
253 040C 00F1 movwf btemp+1
254 040D 084E movf ?a_searchCmdDataSum+1,w
255 040E 158A 27D3 fcall lbmul
256 0410 00F0 movwf btemp
257 0411 0A70 incf btemp,w
258 0412 00F0 movwf btemp
259 0413 3000 movlw _userCMD shr (0+8)
260 0414 008A movwf 10
261 0415 0870 movf btemp,w
262 0416 2082 call ((_userCMD+-1)& (0+2047))| (($)& (0+-2048
+ ))
263 0417 118A pagesel $
264 0418 0008 return
265 0419 l10
266 ;com.c: 25: return (0xFF);
267 0419 0ACE incf ?a_searchCmdDataSum+1
268 041A 3011 movlw 17
269 041B 024E subwf ?a_searchCmdDataSum+1,w
270 041C 1803 btfsc 3,0
271 041D 34FF retlw -1
272 041E 2BFC goto l7
273 ;com.c: 81: void IRQ_UART1 (void)
274 ;com.c: 82: {
275 041F _IRQ_UART1
276 ; _crc assigned to ?a_IRQ_UART1+0
277 0000 _IRQ_UART1$crc set ?a_IRQ_UART1
278 ; _i assigned to ?a_IRQ_UART1+1
279 0000 _IRQ_UART1$i set ?a_IRQ_UART1+1
280 ; _sum assigned to ?a_IRQ_UART1+2
281 0000 _IRQ_UART1$sum set ?a_IRQ_UART1+2
282 ; _databuff assigned to ?a_IRQ_UART1+3
283 0000 _IRQ_UART1$databuff set ?a_IRQ_UART1+3
284 ;com.c: 83: unsigned char databuff[4];
285 041F 0183 clrf 3 ;select bank 0
286 0420 01C6 clrf ?a_IRQ_UART1
287 ;com.c: 85: unsigned char sum=0;
288 0421 01C8 clrf ?a_IRQ_UART1+2
289 ;com.c: 86: unsigned char i;
290 0422 0814 movf 20,w ;volatile
291 0423 00C9 movwf ?a_IRQ_UART1+3
292 ;com.c: 88: if (comBuff.full==0)
293 0424 1683 bsf 3,5
294 0425 08B0 movf _comBuff^(0+128)
295 0426 1D03 btfss 3,2
296 0427 2C89 goto l33
297 ;com.c: 89: {
298 0428 1283 bcf 3,5
299 0429 0849 movf ?a_IRQ_UART1+3,w
300 042A 3AAA xorlw -86
301 042B 1D03 btfss 3,2
302 042C 2C89 goto l33
303 ;com.c: 91: {
304 042D 304A movlw ?a_IRQ_UART1+4
305 042E 00CD movwf ?_waitComData
306 042F 3002 movlw 2
307 0430 23E9 fcall _waitComData
308 0431 00F0 movwf btemp
309 0432 01F1 clrf btemp+1
310 0433 0370 decf btemp,w
311 0434 0471 iorwf btemp+1,w
312 0435 1D03 btfss 3,2
313 0436 2C89 goto l33
314 ;com.c: 93: {
315 0437 084B movf ?a_IRQ_UART1+5,w
316 0438 23F9 118A fcall _searchCmdDataSum
317 043A 00C8 movwf ?a_IRQ_UART1+2
318 ;com.c: 95: if (sum!=0xFF)
319 043B 0A48 incf ?a_IRQ_UART1+2,w
320 043C 1903 btfsc 3,2
321 043D 2C89 goto l33
322 ;com.c: 96: {
323 043E 304C movlw ?a_IRQ_UART1+6
324 043F 00CD movwf ?_waitComData
325 0440 0848 movf ?a_IRQ_UART1+2,w
326 0441 3EFD addlw -3
327 0442 23E9 fcall _waitComData
328 0443 00F0 movwf btemp
329 0444 01F1 clrf btemp+1
330 0445 0370 decf btemp,w
331 0446 0471 iorwf btemp+1,w
332 0447 1D03 btfss 3,2
333 0448 2C89 goto l33
334 ;com.c: 98: {
335 0449 01C7 clrf ?a_IRQ_UART1+1
336 044A l41
337 044A 0848 movf ?a_IRQ_UART1+2,w
338 044B 00F2 movwf btemp+2
339 044C 01F3 clrf btemp+3
340 044D 30FF movlw -1
341 044E 07F2 addwf btemp+2
342 044F 1C03 btfss 3,0
343 0450 07F3 addwf btemp+3
344 0451 0847 movf ?a_IRQ_UART1+1,w
345 0452 00F0 movwf btemp
346 0453 01F1 clrf btemp+1
347 0454 0871 movf btemp+1,w
348 0455 3A80 xorlw 128
349 0456 00F4 movwf btemp+4
350 0457 0873 movf btemp+3,w
351 0458 3A80 xorlw 128
352 0459 0274 subwf btemp+4,w
353 045A 1D03 btfss 3,2
354 045B 2C5E goto u155
355 045C 0872 movf btemp+2,w
356 045D 0270 subwf btemp,w
357 045E u155
358 ;com.c: 100: crc=crc+databuff[i];
359 045E 1283 bcf 3,5
360 045F 1303 bcf 3,6 ;carry unused
361 0460 1803 btfsc 3,0
362 0461 2C6A goto L1
363 0462 0847 movf ?a_IRQ_UART1+1,w
364 0463 3E49 addlw ?a_IRQ_UART1+3
365 0464 0084 movwf 4
366 0465 1383 bcf 3,7
367 0466 0800 movf 0,w
368 0467 07C6 addwf ?a_IRQ_UART1
369 0468 0AC7 incf ?a_IRQ_UART1+1
370 0469 2C4A goto l41
371 ;com.c: 101: if ((crc==databuff[sum-1])&&(sum==
+ databuff[1]))
372 046A L1
373 046A 0348 decf ?a_IRQ_UART1+2,w
374 046B 3E49 addlw ?a_IRQ_UART1+3
375 046C 0084 movwf 4
376 046D 1383 bcf 3,7
377 046E 0800 movf 0,w
378 046F 0646 xorwf ?a_IRQ_UART1,w
379 0470 1D03 btfss 3,2
380 0471 2C89 goto l33
381 0472 084A movf ?a_IRQ_UART1+4,w
382 0473 0648 xorwf ?a_IRQ_UART1+2,w
383 ;com.c: 102: {
384 0474 1683 bsf 3,5
385 0475 1D03 btfss 3,2
386 0476 2C8A goto L2
387 0477 01B0 clrf _comBuff^(0+128)
388 0478 0AB0 incf _comBuff^(0+128)
389 ;com.c: 104: comBuff.head=databuff[0];
390 0479 1283 bcf 3,5
391 047A 0849 movf ?a_IRQ_UART1+3,w
392 047B 1683 bsf 3,5
393 047C 00B1 movwf (_comBuff+1)^(0+128)
394 ;com.c: 105: comBuff.sum=databuff[1];
395 047D 1283 bcf 3,5
396 047E 084A movf ?a_IRQ_UART1+4,w
397 047F 1683 bsf 3,5
398 0480 00B2 movwf (_comBuff+2)^(0+128)
399 ;com.c: 106: comBuff.cmd=databuff[2];
400 0481 1283 bcf 3,5
401 0482 084B movf ?a_IRQ_UART1+5,w
402 0483 1683 bsf 3,5
403 0484 00B3 movwf (_comBuff+3)^(0+128)
404 ;com.c: 107: comBuff.string=databuff[3];
405 0485 1283 bcf 3,5
406 0486 084C movf ?a_IRQ_UART1+6,w
407 0487 1683 bsf 3,5
408 0488 00B4 movwf (_comBuff+4)^(0+128)
409 ;com.c: 108: }
410 ;com.c: 110: }
411 ;com.c: 111: }
412 ;com.c: 112: }
413 ;com.c: 113: }
414 0489 l33
415 ;com.c: 115: RCIE=0x01;
416 0489 1683 bsf 3,5
417 048A L2
418 048A 168C bsf 12,5
419 ;com.c: 116: }
420 048B 1283 bcf 3,5
421 048C 0008 return
422
423 psect text6
424 ;com.c: 119: unsigned char readComCommand(void)
425 ;com.c: 120: { return (comBuff.cmd);
426 0FAF _readComCommand
427 0FAF 1683 bsf 3,5
428 0FB0 1303 bcf 3,6 ;carry unused
429 0FB1 0833 movf (_comBuff+3)^(0+128),w
430 ;com.c: 121: }
431 0FB2 1283 bcf 3,5
432 0FB3 0008 return
433
434 psect text7
435 ;com.c: 123: unsigned char* readComDataPd(void)
436 ;com.c: 124: { return (comBuff.string);
437 0FB4 _readComDataPd
438 0FB4 1683 bsf 3,5
439 0FB5 1303 bcf 3,6 ;carry unused
440 0FB6 0834 movf (_comBuff+4)^(0+128),w
441 ;com.c: 125: }
442 0FB7 1283 bcf 3,5
443 0FB8 0008 return
444
445 psect text8
446 ;com.c: 128: void comInit(void)
447 ;com.c: 129: {
448 0FC8 _comInit
449 ;com.c: 130: SPBRG =0x19;
450 0FC8 3019 movlw 25
451 0FC9 0183 clrf 3 ;select bank 0
452 0FCA 0093 movwf 19
453 ;com.c: 131: TXSTA =0x24;
454 0FCB 3024 movlw 36
455 0FCC 0096 movwf 22 ;volatile
456 ;com.c: 132: RCIE =1;
457 0FCD 1683 bsf 3,5
458 0FCE 168C bsf 12,5
459 ;com.c: 133: RCSTA =0x90;
460 0FCF 3090 movlw -112
461 0FD0 1283 bcf 3,5
462 0FD1 0097 movwf 23 ;volatile
463 ;com.c: 134: }
464 0FD2 0008 return
465
466 psect text9
467 0000
468 0000
469 0000
470 0000
471 0000
472 0000
473 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -