📄 uart_s.lst
字号:
255 054E 0183 clrf 3 ;select bank 0
256 054F 00B2 movwf ?a_CRC16
257 ;uart_s.c: 320: MyByte CRC16Lo,CRC16Hi;
258 0550 30FF movlw -1
259 0551 00B8 movwf ?a_CRC16+6
260 ;uart_s.c: 326: CRC16Hi = 0xff;
261 0552 00B7 movwf ?a_CRC16+5
262 ;uart_s.c: 327: CL = 0x01;
263 0553 01B4 clrf ?a_CRC16+2
264 0554 0AB4 incf ?a_CRC16+2
265 ;uart_s.c: 328: CH = 0xa0;
266 0555 30A0 movlw -96
267 0556 00B3 movwf ?a_CRC16+1
268 ;uart_s.c: 329: for(i=0; i<iLength; i++)
269 0557 01BB clrf ?a_CRC16+9
270 0558 01BC clrf ?a_CRC16+10
271 0559 2D82 goto l43
272 ;uart_s.c: 330: {
273 ;uart_s.c: 331: CRC16Lo = CRC16Lo ^ data[i];
274 055A L6
275 055A 0832 movf ?a_CRC16,w
276 055B 073B addwf ?a_CRC16+9,w
277 055C 0084 movwf 4
278 055D 1383 bcf 3,7
279 055E 0800 movf 0,w
280 055F 06B8 xorwf ?a_CRC16+6
281 ;uart_s.c: 332: for( Flag=0; Flag<=7; Flag++)
282 0560 01B9 clrf ?a_CRC16+7
283 0561 01BA clrf ?a_CRC16+8
284 0562 l44
285 ;uart_s.c: 333: {
286 ;uart_s.c: 334: SaveHi = CRC16Hi;
287 0562 0837 movf ?a_CRC16+5,w
288 0563 00B5 movwf ?a_CRC16+3
289 ;uart_s.c: 335: SaveLo = CRC16Lo;
290 0564 0838 movf ?a_CRC16+6,w
291 0565 00B6 movwf ?a_CRC16+4
292 ;uart_s.c: 336: CRC16Hi = CRC16Hi>>1;
293 0566 1003 bcf 3,0
294 0567 0CB7 rrf ?a_CRC16+5
295 ;uart_s.c: 337: CRC16Lo = CRC16Lo>>1;
296 0568 1003 bcf 3,0
297 0569 0CB8 rrf ?a_CRC16+6
298 ;uart_s.c: 339: if((SaveHi&0x01) == 0x01)
299 056A 1835 btfsc ?a_CRC16+3,0
300 ;uart_s.c: 340: CRC16Lo = CRC16Lo|0x80;
301 056B 17B8 bsf ?a_CRC16+6,7
302 ;uart_s.c: 342: if((SaveLo&0x01) == 0x01)
303 056C 1C36 btfss ?a_CRC16+4,0
304 056D 2D72 goto l48
305 ;uart_s.c: 343: {
306 056E 0833 movf ?a_CRC16+1,w
307 056F 06B7 xorwf ?a_CRC16+5
308 ;uart_s.c: 345: CRC16Lo = CRC16Lo ^ CL;
309 0570 0834 movf ?a_CRC16+2,w
310 0571 06B8 xorwf ?a_CRC16+6
311 0572 l48
312 ;uart_s.c: 346: }
313 0572 0AB9 incf ?a_CRC16+7
314 0573 1903 btfsc 3,2
315 0574 0ABA incf ?a_CRC16+8
316 0575 083A movf ?a_CRC16+8,w
317 0576 3A80 xorlw 128
318 0577 00F0 movwf btemp
319 0578 3080 movlw 128
320 0579 0270 subwf btemp,w
321 057A 3008 movlw 8
322 ;set bank bits for (((?a_CRC16+7)))
323 057B 1903 btfsc 3,2
324 057C 0239 subwf ?a_CRC16+7,w
325 057D 1C03 btfss 3,0
326 057E 2D62 goto l44
327 ;uart_s.c: 348: }
328 057F 0ABB incf ?a_CRC16+9
329 0580 1903 btfsc 3,2
330 0581 0ABC incf ?a_CRC16+10
331 0582 l43
332 0582 083C movf ?a_CRC16+10,w
333 0583 3A80 xorlw 128
334 0584 00F0 movwf btemp
335 0585 0831 movf ?_CRC16+1,w
336 0586 3A80 xorlw 128
337 0587 0270 subwf btemp,w
338 0588 1D03 btfss 3,2
339 0589 2D8C goto u135
340 058A 0830 movf ?_CRC16,w
341 058B 023B subwf ?a_CRC16+9,w
342 058C u135
343 ;uart_s.c: 349: return(CRC16Hi<<8 | CRC16Lo);
344 058C 1283 bcf 3,5
345 058D 1303 bcf 3,6 ;carry unused
346 058E 1C03 btfss 3,0
347 058F 2D5A goto L6
348 0590 0837 movf ?a_CRC16+5,w
349 0591 00F1 movwf btemp+1
350 0592 01F0 clrf btemp
351 0593 0838 movf ?a_CRC16+6,w
352 0594 04F0 iorwf btemp
353 ;uart_s.c: 350: }
354 0595 0008 return
355 ;uart_s.c: 176: void SinglePressKeyDip(void)
356 ;uart_s.c: 177: {
357 0596 _SinglePressKeyDip
358 ;uart_s.c: 178: sendBuf[0] = 0xff;
359 0596 30FF movlw -1
360 0597 1683 bsf 3,5
361 0598 1303 bcf 3,6 ;carry unused
362 0599 00B6 movwf _sendBuf^(0+128)
363 ;uart_s.c: 179: sendBuf[1] = 0xaa;
364 059A 30AA movlw -86
365 059B 00B7 movwf (_sendBuf+1)^(0+128)
366 ;uart_s.c: 180: sendBuf[2] = 0x55;
367 059C 3055 movlw 85
368 059D 00B8 movwf (_sendBuf+2)^(0+128)
369 ;uart_s.c: 181: crc_result = CRC16(sendBuf,3);
370 059E 3003 movlw 3
371 059F 1283 bcf 3,5
372 05A0 00B0 movwf ?_CRC16
373 05A1 01B1 clrf ?_CRC16+1
374 05A2 30B6 movlw _sendBuf
375 05A3 254E fcall _CRC16
376 05A4 0870 movf btemp,w
377 05A5 00A2 movwf _crc_result
378 05A6 0871 movf btemp+1,w
379 05A7 00A3 movwf _crc_result+1
380 ;uart_s.c: 182: sendBuf[3] = (uchar)(crc_result
+ &0x00ff);
381 05A8 0822 movf _crc_result,w
382 05A9 1683 bsf 3,5
383 05AA 00B9 movwf (_sendBuf+3)^(0+128)
384 ;uart_s.c: 183: sendBuf[4] = (uchar)((crc_resul
+ t&0xff00)>>8);
385 05AB 1283 bcf 3,5
386 05AC 0823 movf _crc_result+1,w
387 05AD 00F1 movwf btemp+1
388 05AE 0822 movf _crc_result,w
389 05AF 00F0 movwf btemp
390 05B0 01F0 clrf btemp
391 05B1 0871 movf btemp+1,w
392 05B2 1683 bsf 3,5
393 05B3 00BA movwf (_sendBuf+4)^(0+128)
394 ;uart_s.c: 185: sendCount = 5;
395 05B4 3005 movlw 5
396 05B5 00A2 movwf _sendCount^(0+128) ;volatile
397 ;uart_s.c: 187: beginSend();
398 05B6 2D3F ljmp _beginSend
399 05B7 _RecFrameCheck
400 ; _p_CheckData assigned to ?a_RecFrameCheck+0
401 0000 _RecFrameCheck$p_CheckData set ?a_RecFrameCheck
402 ; _CRCWord assigned to ?a_RecFrameCheck+1
403 0000 _RecFrameCheck$CRCWord set ?a_RecFrameCheck+1
404 ;_p_CheckData stored from w
405 05B7 0183 clrf 3 ;select bank 0
406 05B8 00AD movwf ?a_RecFrameCheck
407 ;uart_s.c: 303: uint CRCWord;
408 05B9 082C movf ?_RecFrameCheck,w
409 05BA 072D addwf ?a_RecFrameCheck,w
410 05BB 00F0 movwf btemp
411 05BC 0370 decf btemp,w
412 05BD 0084 movwf 4
413 05BE 1383 bcf 3,7
414 05BF 0800 movf 0,w
415 05C0 00F0 movwf btemp
416 05C1 082C movf ?_RecFrameCheck,w
417 05C2 072D addwf ?a_RecFrameCheck,w
418 05C3 3EFE addlw -2
419 05C4 0084 movwf 4
420 05C5 0800 movf 0,w
421 05C6 00AF movwf ?a_RecFrameCheck+2
422 05C7 0870 movf btemp,w
423 05C8 00AE movwf ?a_RecFrameCheck+1
424 ;uart_s.c: 306: if(CRCWord == CRC16(p_CheckData
+ ,GetCntTempBuf-2))
425 05C9 30FE movlw 254
426 05CA 00F0 movwf btemp
427 05CB 30FF movlw 255
428 05CC 00F1 movwf btemp+1
429 05CD 082C movf ?_RecFrameCheck,w
430 05CE 0770 addwf btemp,w
431 05CF 00B0 movwf ?_CRC16
432 05D0 0871 movf btemp+1,w
433 05D1 1803 btfsc 3,0
434 05D2 0A71 incf btemp+1,w
435 05D3 00B1 movwf ?_CRC16+1
436 05D4 082D movf ?a_RecFrameCheck,w
437 05D5 254E fcall _CRC16
438 05D6 082F movf ?a_RecFrameCheck+2,w
439 05D7 0671 xorwf btemp+1,w
440 05D8 1D03 btfss 3,2
441 05D9 2DDC goto u95
442 05DA 082E movf ?a_RecFrameCheck+1,w
443 05DB 0670 xorwf btemp,w
444 05DC u95
445 05DC 1903 btfsc 3,2
446 ;uart_s.c: 307: {
447 05DD 3401 retlw 1
448 ;uart_s.c: 311: {
449 05DE 3400 retlw 0
450 ;uart_s.c: 191: void ReceiveFrameDisFun(void)
451 ;uart_s.c: 192: {
452 05DF _ReceiveFrameDisFun
453 ;uart_s.c: 205: if(receCount>4)
454 05DF 3005 movlw 5
455 05E0 1683 bsf 3,5
456 05E1 1303 bcf 3,6 ;carry unused
457 05E2 0221 subwf _receCount^(0+128),w ;volatile
458 05E3 1803 btfsc 3,0
459 05E4 2E0C goto l26
460 ;uart_s.c: 206: {
461 ;uart_s.c: 217: {
462 ;uart_s.c: 219: break;
463 ;uart_s.c: 221: case 1:
464 ;uart_s.c: 222: break;
465 ;uart_s.c: 224: case 3:
466 ;uart_s.c: 235: break;
467 ;uart_s.c: 237: case 5:
468 ;uart_s.c: 238: break;
469 05E5 2E1B goto l24
470 05E6 l31
471 ;uart_s.c: 240: case 0xaa:
472 ;uart_s.c: 241: if(receCount >= 5)
473 05E6 3005 movlw 5
474 05E7 0221 subwf _receCount^(0+128),w ;volatile
475 05E8 1C03 btfss 3,0
476 05E9 2E1B goto l24
477 ;uart_s.c: 242: {
478 05EA 0826 movf _receBuf^(0+128),w
479 05EB 1283 bcf 3,5
480 05EC 0644 xorwf _LocalAddr,w
481 05ED 1D03 btfss 3,2
482 05EE 2E07 goto l33
483 05EF 0825 movf _checkoutError,w ;volatile
484 05F0 1D03 btfss 3,2
485 05F1 2E07 goto l33
486 ;uart_s.c: 254: {
487 05F2 3005 movlw 5
488 05F3 00AC movwf ?_RecFrameCheck
489 05F4 30A6 movlw _receBuf
490 05F5 25B7 fcall _RecFrameCheck
491 05F6 00F0 movwf btemp
492 05F7 01F1 clrf btemp+1
493 05F8 0471 iorwf btemp+1,w
494 05F9 1903 btfsc 3,2
495 05FA 2E07 goto l33
496 ;uart_s.c: 257: {
497 05FB 3008 movlw 8
498 05FC 0686 xorwf 6
499 ;uart_s.c: 278: GetKeyValue = receBuf[2];
500 05FD 1683 bsf 3,5
501 05FE 0828 movf (_receBuf+2)^(0+128),w
502 05FF 1283 bcf 3,5
503 0600 00A1 movwf _GetKeyValue ;volatile
504 ;uart_s.c: 279: LedSSLink = GetKeyValue;
505 0601 0821 movf _GetKeyValue,w ;volatile
506 0602 1683 bsf 3,5
507 0603 00D0 movwf _LedSSLink^(0+128)
508 0604 01D1 clrf (_LedSSLink+1)^(0+128)
509 ;uart_s.c: 282: SinglePressKeyDip();
510 0605 2596 118A fcall _SinglePressKeyDip
511 ;uart_s.c: 283: }
512 0607 l33
513 ;uart_s.c: 285: receCount = 0;
514 0607 1683 bsf 3,5
515 0608 01A1 clrf _receCount^(0+128) ;volatile
516 ;uart_s.c: 286: checkoutError = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -