📄 uart.lst
字号:
255 000F' 0183 clrf 3 ;select bank 0
256 0010' 0080' movwf ?a_CRC16
257 ;uart.c: 221: MyByte CRC16Lo,CRC16Hi;
258 0011' 30FF movlw -1
259 0012' 0086' movwf ?a_CRC16+6
260 ;uart.c: 227: CRC16Hi = 0xff;
261 0013' 0085' movwf ?a_CRC16+5
262 ;uart.c: 228: CL = 0x01;
263 0014' 0182' clrf ?a_CRC16+2
264 0015' 0A82' incf ?a_CRC16+2
265 ;uart.c: 229: CH = 0xa0;
266 0016' 30A0 movlw -96
267 0017' 0081' movwf ?a_CRC16+1
268 ;uart.c: 230: for(i=0; i<iLength; i++)
269 0018' 0189' clrf ?a_CRC16+9
270 0019' 018A' clrf ?a_CRC16+10
271 001A' 2800' goto l42
272 ;uart.c: 231: {
273 ;uart.c: 232: CRC16Lo = CRC16Lo ^ data[i];
274 001B' L6
275 001B' 0800' movf ?a_CRC16,w
276 001C' 0709' addwf ?a_CRC16+9,w
277 001D' 0084 movwf 4
278 001E' 1383 bcf 3,7
279 001F' 0800 movf 0,w
280 0020' 0686' xorwf ?a_CRC16+6
281 ;uart.c: 233: for( Flag=0; Flag<=7; Flag++)
282 0021' 0187' clrf ?a_CRC16+7
283 0022' 0188' clrf ?a_CRC16+8
284 0023' l43
285 ;uart.c: 234: {
286 ;uart.c: 235: SaveHi = CRC16Hi;
287 0023' 0805' movf ?a_CRC16+5,w
288 0024' 0083' movwf ?a_CRC16+3
289 ;uart.c: 236: SaveLo = CRC16Lo;
290 0025' 0806' movf ?a_CRC16+6,w
291 0026' 0084' movwf ?a_CRC16+4
292 ;uart.c: 237: CRC16Hi = CRC16Hi>>1;
293 0027' 1003 bcf 3,0
294 0028' 0C85' rrf ?a_CRC16+5
295 ;uart.c: 238: CRC16Lo = CRC16Lo>>1;
296 0029' 1003 bcf 3,0
297 002A' 0C86' rrf ?a_CRC16+6
298 ;uart.c: 240: if((SaveHi&0x01) == 0x01)
299 002B' 1803' btfsc ?a_CRC16+3,0
300 ;uart.c: 241: CRC16Lo = CRC16Lo|0x80;
301 002C' 1786' bsf ?a_CRC16+6,7
302 ;uart.c: 243: if((SaveLo&0x01) == 0x01)
303 002D' 1C04' btfss ?a_CRC16+4,0
304 002E' 2800' goto l47
305 ;uart.c: 244: {
306 002F' 0801' movf ?a_CRC16+1,w
307 0030' 0685' xorwf ?a_CRC16+5
308 ;uart.c: 246: CRC16Lo = CRC16Lo ^ CL;
309 0031' 0802' movf ?a_CRC16+2,w
310 0032' 0686' xorwf ?a_CRC16+6
311 0033' l47
312 ;uart.c: 247: }
313 0033' 0A87' incf ?a_CRC16+7
314 0034' 1903 btfsc 3,2
315 0035' 0A88' incf ?a_CRC16+8
316 0036' 0808' movf ?a_CRC16+8,w
317 0037' 3A80 xorlw 128
318 0038' 0080' movwf btemp
319 0039' 3080 movlw 128
320 003A' 0200' subwf btemp,w
321 003B' 3008 movlw 8
322 ;set bank bits for (((?a_CRC16+7)))
323 003C' 1903 btfsc 3,2
324 003D' 0207' subwf ?a_CRC16+7,w
325 003E' 1C03 btfss 3,0
326 003F' 2800' goto l43
327 ;uart.c: 249: }
328 0040' 0A89' incf ?a_CRC16+9
329 0041' 1903 btfsc 3,2
330 0042' 0A8A' incf ?a_CRC16+10
331 0043' l42
332 0043' 080A' movf ?a_CRC16+10,w
333 0044' 3A80 xorlw 128
334 0045' 0080' movwf btemp
335 0046' 0801' movf ?_CRC16+1,w
336 0047' 3A80 xorlw 128
337 0048' 0200' subwf btemp,w
338 0049' 1D03 btfss 3,2
339 004A' 2800' goto u135
340 004B' 0800' movf ?_CRC16,w
341 004C' 0209' subwf ?a_CRC16+9,w
342 004D' u135
343 ;uart.c: 250: return(CRC16Hi<<8 | CRC16Lo);
344 004D' 1283 bcf 3,5
345 004E' 1303 bcf 3,6 ;carry unused
346 004F' 1C03 btfss 3,0
347 0050' 2800' goto L6
348 0051' 0805' movf ?a_CRC16+5,w
349 0052' 0081' movwf btemp+1
350 0053' 0180' clrf btemp
351 0054' 0806' movf ?a_CRC16+6,w
352 0055' 0480' iorwf btemp
353 ;uart.c: 251: }
354 0056' 0008 return
355 ;uart.c: 103: void SinglePressKeyDip(void)
356 ;uart.c: 104: {
357 0057' _SinglePressKeyDip
358 ;uart.c: 105: sendBuf[0] = 0xff;
359 0057' 30FF movlw -1
360 0058' 1683 bsf 3,5
361 0059' 1303 bcf 3,6 ;carry unused
362 005A' 0080' movwf _sendBuf^(0+128)
363 ;uart.c: 106: sendBuf[1] = 0xaa;
364 005B' 30AA movlw -86
365 005C' 0080' movwf (_sendBuf+1)^(0+128)
366 ;uart.c: 107: sendBuf[2] = 0x55;
367 005D' 3055 movlw 85
368 005E' 0080' movwf (_sendBuf+2)^(0+128)
369 ;uart.c: 108: crc_result = CRC16(sendBuf,3);
370 005F' 3003 movlw 3
371 0060' 1283 bcf 3,5
372 0061' 0080' movwf ?_CRC16
373 0062' 0181' clrf ?_CRC16+1
374 0063' 3000' movlw _sendBuf
375 0064' 2000' fcall _CRC16
376 0065' 0800' movf btemp,w
377 0066' 0080' movwf _crc_result
378 0067' 0801' movf btemp+1,w
379 0068' 0081' movwf _crc_result+1
380 ;uart.c: 109: sendBuf[3] = (uchar)(crc_result&0
+ x00ff);
381 0069' 0800' movf _crc_result,w
382 006A' 1683 bsf 3,5
383 006B' 0080' movwf (_sendBuf+3)^(0+128)
384 ;uart.c: 110: sendBuf[4] = (uchar)((crc_result&
+ 0xff00)>>8);
385 006C' 1283 bcf 3,5
386 006D' 0801' movf _crc_result+1,w
387 006E' 0081' movwf btemp+1
388 006F' 0800' movf _crc_result,w
389 0070' 0080' movwf btemp
390 0071' 0180' clrf btemp
391 0072' 0801' movf btemp+1,w
392 0073' 1683 bsf 3,5
393 0074' 0080' movwf (_sendBuf+4)^(0+128)
394 ;uart.c: 112: sendCount = 5;
395 0075' 3005 movlw 5
396 0076' 0080' movwf _sendCount^(0+128) ;volatile
397 ;uart.c: 114: beginSend();
398 0077' 2800' ljmp _beginSend
399 0078' _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 0078' 0183 clrf 3 ;select bank 0
406 0079' 0080' movwf ?a_RecFrameCheck
407 ;uart.c: 204: uint CRCWord;
408 007A' 1683 bsf 3,5
409 007B' 0800' movf _GetCntTemp^(0+128),w ;volatile
410 007C' 1283 bcf 3,5
411 007D' 0700' addwf ?a_RecFrameCheck,w
412 007E' 3EFE addlw -2
413 007F' 0084 movwf 4
414 0080' 1383 bcf 3,7
415 0081' 0800 movf 0,w
416 0082' 0081' movwf btemp+1
417 0083' 1683 bsf 3,5
418 0084' 0800' movf _GetCntTemp^(0+128),w ;volatile
419 0085' 1283 bcf 3,5
420 0086' 0700' addwf ?a_RecFrameCheck,w
421 0087' 0080' movwf btemp
422 0088' 0300' decf btemp,w
423 0089' 0084 movwf 4
424 008A' 0800 movf 0,w
425 008B' 0082' movwf ?a_RecFrameCheck+2
426 008C' 0801' movf btemp+1,w
427 008D' 0081' movwf ?a_RecFrameCheck+1
428 ;uart.c: 207: if(CRCWord == CRC16(p_CheckData,G
+ etCntTemp-2))
429 008E' 30FE movlw 254
430 008F' 0080' movwf btemp
431 0090' 30FF movlw 255
432 0091' 0081' movwf btemp+1
433 0092' 1683 bsf 3,5
434 0093' 0800' movf _GetCntTemp^(0+128),w ;volatile
435 0094' 0700' addwf btemp,w
436 0095' 1283 bcf 3,5
437 0096' 0080' movwf ?_CRC16
438 0097' 0801' movf btemp+1,w
439 0098' 1803 btfsc 3,0
440 0099' 0A01' incf btemp+1,w
441 009A' 0081' movwf ?_CRC16+1
442 009B' 0800' movf ?a_RecFrameCheck,w
443 009C' 2000' fcall _CRC16
444 009D' 0802' movf ?a_RecFrameCheck+2,w
445 009E' 0601' xorwf btemp+1,w
446 009F' 1D03 btfss 3,2
447 00A0' 2800' goto u95
448 00A1' 0801' movf ?a_RecFrameCheck+1,w
449 00A2' 0600' xorwf btemp,w
450 00A3' u95
451 00A3' 1903 btfsc 3,2
452 ;uart.c: 208: {
453 00A4' 3401 retlw 1
454 ;uart.c: 212: {
455 00A5' 3400 retlw 0
456 ;uart.c: 118: void ReceiveFrameDisFun(void)
457 ;uart.c: 119: {
458 00A6' _ReceiveFrameDisFun
459 ;uart.c: 132: if(receCount>4)
460 00A6' 3005 movlw 5
461 00A7' 1683 bsf 3,5
462 00A8' 1303 bcf 3,6 ;carry unused
463 00A9' 0200' subwf _receCount^(0+128),w ;volatile
464 00AA' 1803 btfsc 3,0
465 00AB' 2800' goto l25
466 ;uart.c: 133: {
467 ;uart.c: 144: {
468 ;uart.c: 146: break;
469 ;uart.c: 148: case 1:
470 ;uart.c: 149: break;
471 ;uart.c: 151: case 3:
472 ;uart.c: 152: break;
473 ;uart.c: 154: case 5:
474 ;uart.c: 155: break;
475 00AC' 2800' goto l23
476 00AD' l30
477 ;uart.c: 157: case 0xaa:
478 ;uart.c: 158: if(receCount >= 5)
479 00AD' 3005 movlw 5
480 00AE' 0200' subwf _receCount^(0+128),w ;volatile
481 00AF' 1C03 btfss 3,0
482 00B0' 2800' goto l23
483 ;uart.c: 159: {
484 00B1' 0800' movf _receBuf^(0+128),w
485 00B2' 1283 bcf 3,5
486 00B3' 0600' xorwf _LocalAddr,w
487 00B4' 1D03 btfss 3,2
488 00B5' 2800' goto l32
489 00B6' 0800' movf _checkoutError,w ;volatile
490 00B7' 1D03 btfss 3,2
491 00B8' 2800' goto l32
492 ;uart.c: 170: {
493 00B9' 3005 movlw 5
494 00BA' 0080' movwf ?_RecFrameCheck
495 00BB' 3000' movlw _receBuf
496 00BC' 2000' fcall _RecFrameCheck
497 00BD' 0080' movwf btemp
498 00BE' 0181' clrf btemp+1
499 ;uart.c: 172: {
500 ;uart.c: 174: RA1 =!RA1;
501 00BF' 3002 movlw 2
502 00C0' 0685 xorwf 5
503 ;uart.c: 178: RB4 = !RB4;
504 00C1' 3010 movlw 16
505 00C2' 0686 xorwf 6
506 ;uart.c: 181: GetKeyValue = receBuf[2];
507 00C3' 1683 bsf 3,5
508 00C4' 0800' movf (_receBuf+2)^(0+128),w
509 00C5' 1283 bcf 3,5
510 00C6' 0080' movwf _GetKeyValue ;volatile
511 ;uart.c: 183: SinglePressKeyDip();
512 00C7' 2000' 118A' fcall _SinglePressKeyDip
513 00C9' l32
514 ;uart.c: 184: }
515 00C9' 1683 bsf 3,5
516 00CA' 0180' clrf _receCount^(0+128) ;volatile
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -