📄 mcp2510.lst
字号:
+ 120A 158A
410 ;mcp2510.c: 73: writedata++;
411 0ECB 0AE5 incf ?_mcp_write
412 0ECC 1903 btfsc 3,2
413 0ECD 0AE6 incf ?_mcp_write+1
414 ;mcp2510.c: 74: }
415 0ECE 0AE9 incf ?a_mcp_write+1
416 0ECF l12
417 0ECF 0867 movf ?_mcp_write+2,w
418 0ED0 0269 subwf ?a_mcp_write+1,w
419 0ED1 1C03 btfss 3,0
420 0ED2 2EC0 goto l9
421 ;mcp2510.c: 75: SPI_mcp_unselect();
422 0ED3 120A 158A 29C0 ljmp _SPI_mcp_unselect
423 0ED6 _mcp_write_can
424 ; _buffer assigned to ?a_mcp_write_can+0
425 0000 _mcp_write_can$buffer set ?a_mcp_write_can
426 ; _mcp_addr assigned to ?a_mcp_write_can+1
427 0000 _mcp_write_can$mcp_addr set ?a_mcp_write_can+1
428 ;_buffer stored from w
429 0ED6 0183 clrf 3 ;select bank 0
430 0ED7 00D7 movwf ?a_mcp_write_can
431 ;mcp2510.c: 117: uchar mcp_addr = buffer*16 + 0
+ x21;
432 0ED8 0E57 swapf ?a_mcp_write_can,w
433 0ED9 39F0 andlw 240
434 0EDA 3E21 addlw 33
435 0EDB 00D8 movwf ?a_mcp_write_can+1
436 ;mcp2510.c: 118: mcp_write(mcp_addr+5, data, dl
+ c );
437 0EDC 0855 movf ?_mcp_write_can+7,w
438 0EDD 00E5 movwf ?_mcp_write
439 0EDE 0856 movf ?_mcp_write_can+8,w
440 0EDF 00E6 movwf ?_mcp_write+1
441 0EE0 0853 movf ?_mcp_write_can+5,w
442 0EE1 00E7 movwf ?_mcp_write+2
443 0EE2 0858 movf ?a_mcp_write_can+1,w
444 0EE3 3E05 addlw 5
445 0EE4 26B3 120A 158A fcall _mcp_write
446 ;mcp2510.c: 119: mcp_write_can_id( mcp_addr, ex
+ t, can_id );
447 0EE7 084E movf ?_mcp_write_can,w
448 0EE8 00D9 movwf ?_mcp_write_can_id
449 0EE9 084F movf ?_mcp_write_can+1,w
450 0EEA 00DA movwf ?_mcp_write_can_id+1
451 0EEB 0850 movf ?_mcp_write_can+2,w
452 0EEC 00DB movwf ?_mcp_write_can_id+2
453 0EED 0851 movf ?_mcp_write_can+3,w
454 0EEE 00DC movwf ?_mcp_write_can_id+3
455 0EEF 0852 movf ?_mcp_write_can+4,w
456 0EF0 00DD movwf ?_mcp_write_can_id+4
457 0EF1 0858 movf ?a_mcp_write_can+1,w
458 0EF2 2701 120A 158A fcall _mcp_write_can_id
459 ;mcp2510.c: 120: if ( rtr == 1) dlc |= 0x40;
460 0EF5 0B54 decfsz ?_mcp_write_can+6,w
461 0EF6 2EF8 goto l19
462 0EF7 1753 bsf ?_mcp_write_can+5,6
463 0EF8 l19
464 ;mcp2510.c: 121: mcp_write((mcp_addr+4), &dlc,
+ 1 );
465 0EF8 3053 movlw ?_mcp_write_can+5
466 0EF9 00E5 movwf ?_mcp_write
467 0EFA 3080 movlw 128
468 0EFB 00E6 movwf ?_mcp_write+1
469 0EFC 01E7 clrf ?_mcp_write+2
470 0EFD 0AE7 incf ?_mcp_write+2
471 0EFE 0858 movf ?a_mcp_write_can+1,w
472 0EFF 3E04 addlw 4
473 0F00 2EB3 ljmp _mcp_write
474 0F01 _mcp_write_can_id
475 ; _mcp_addr assigned to ?a_mcp_write_can_id+0
476 0000 _mcp_write_can_id$mcp_addr set ?a_mcp_write_can
+ _id
477 ; _canid assigned to ?a_mcp_write_can_id+1
478 0000 _mcp_write_can_id$canid set ?a_mcp_write_can_id
+ +1
479 ; _tbufdata assigned to ?a_mcp_write_can_id+3
480 0000 _mcp_write_can_id$tbufdata set ?a_mcp_write_can
+ _id+3
481 ;_mcp_addr stored from w
482 0F01 0183 clrf 3 ;select bank 0
483 0F02 00DE movwf ?a_mcp_write_can_id
484 ;mcp2510.c: 126: unsigned int canid;
485 0F03 085A movf ?_mcp_write_can_id+1,w
486 0F04 00DF movwf ?a_mcp_write_can_id+1
487 0F05 085B movf ?_mcp_write_can_id+2,w
488 0F06 00E0 movwf ?a_mcp_write_can_id+2
489 ;mcp2510.c: 129: if ( ext == 1) {
490 0F07 0B59 decfsz ?_mcp_write_can_id,w
491 0F08 2F2D goto l21
492 ;mcp2510.c: 130: tbufdata[3] = (uchar) (canid &
+ 0xFF);
493 0F09 085F movf ?a_mcp_write_can_id+1,w
494 0F0A 00E4 movwf ?a_mcp_write_can_id+6
495 ;mcp2510.c: 131: tbufdata[2] = (uchar) (canid /
+ 256);
496 0F0B 0860 movf ?a_mcp_write_can_id+2,w
497 0F0C 00E3 movwf ?a_mcp_write_can_id+5
498 ;mcp2510.c: 132: canid = (unsigned int)( can_id
+ / 0x10000L );
499 0F0D 085C movf ?_mcp_write_can_id+3,w
500 0F0E 00DF movwf ?a_mcp_write_can_id+1
501 0F0F 085D movf ?_mcp_write_can_id+4,w
502 0F10 00E0 movwf ?a_mcp_write_can_id+2
503 ;mcp2510.c: 133: tbufdata[1] = (uchar) (canid &
+ 0x03);
504 0F11 085F movf ?a_mcp_write_can_id+1,w
505 0F12 3903 andlw 3
506 0F13 00E2 movwf ?a_mcp_write_can_id+4
507 ;mcp2510.c: 134: tbufdata[1] += (uchar) ((canid
+ & 0x1C )*8);
508 0F14 085F movf ?a_mcp_write_can_id+1,w
509 0F15 391C andlw 28
510 0F16 00F0 movwf btemp
511 0F17 1003 bcf 3,0
512 0F18 0DF0 rlf btemp
513 0F19 1003 bcf 3,0
514 0F1A 0DF0 rlf btemp
515 0F1B 1003 bcf 3,0
516 0F1C 0D70 rlf btemp,w
517 0F1D 07E2 addwf ?a_mcp_write_can_id+4
518 ;mcp2510.c: 135: tbufdata[1] |= 0x08;
519 0F1E 15E2 bsf ?a_mcp_write_can_id+4,3
520 ;mcp2510.c: 136: tbufdata[0] = (uchar) (canid /
+ 32 );
521 0F1F 0860 movf ?a_mcp_write_can_id+2,w
522 0F20 00F1 movwf btemp+1
523 0F21 085F movf ?a_mcp_write_can_id+1,w
524 0F22 00F0 movwf btemp
525 0F23 3005 movlw 5
526 0F24 00F2 movwf btemp+2
527 0F25 u95
528 0F25 1003 bcf 3,0
529 0F26 0CF1 rrf btemp+1
530 0F27 0CF0 rrf btemp
531 0F28 0BF2 decfsz btemp+2
532 0F29 2F25 goto u95
533 0F2A 0870 movf btemp,w
534 0F2B 00E1 movwf ?a_mcp_write_can_id+3
535 ;mcp2510.c: 137: }
536 0F2C 2F49 goto l22
537 0F2D l21
538 ;mcp2510.c: 139: tbufdata[0] = (uchar) (canid /
+ 8 );
539 0F2D 0860 movf ?a_mcp_write_can_id+2,w
540 0F2E 00F1 movwf btemp+1
541 0F2F 085F movf ?a_mcp_write_can_id+1,w
542 0F30 00F0 movwf btemp
543 0F31 1003 bcf 3,0
544 0F32 0CF1 rrf btemp+1
545 0F33 0CF0 rrf btemp
546 0F34 1003 bcf 3,0
547 0F35 0CF1 rrf btemp+1
548 0F36 0CF0 rrf btemp
549 0F37 1003 bcf 3,0
550 0F38 0CF1 rrf btemp+1
551 0F39 0CF0 rrf btemp
552 0F3A 0870 movf btemp,w
553 0F3B 00E1 movwf ?a_mcp_write_can_id+3
554 ;mcp2510.c: 140: tbufdata[1] = (uchar) ((canid
+ & 0x07 )*32);
555 0F3C 085F movf ?a_mcp_write_can_id+1,w
556 0F3D 3907 andlw 7
557 0F3E 00F0 movwf btemp
558 0F3F 3005 movlw 5
559 0F40 00F1 movwf btemp+1
560 0F41 u105
561 0F41 1003 bcf 3,0
562 0F42 0DF0 rlf btemp
563 0F43 0BF1 decfsz btemp+1
564 0F44 2F41 goto u105
565 0F45 0870 movf btemp,w
566 0F46 00E2 movwf ?a_mcp_write_can_id+4
567 ;mcp2510.c: 141: tbufdata[3] = 0;
568 0F47 01E4 clrf ?a_mcp_write_can_id+6
569 ;mcp2510.c: 142: tbufdata[2] = 0;
570 0F48 01E3 clrf ?a_mcp_write_can_id+5
571 0F49 l22
572 ;mcp2510.c: 143: }
573 ;mcp2510.c: 144: mcp_write( mcp_addr, tbufdata,
+ 4 );
574 0F49 3061 movlw ?a_mcp_write_can_id+3
575 0F4A 00E5 movwf ?_mcp_write
576 0F4B 3080 movlw 128
577 0F4C 00E6 movwf ?_mcp_write+1
578 0F4D 3004 movlw 4
579 0F4E 00E7 movwf ?_mcp_write+2
580 0F4F 085E movf ?a_mcp_write_can_id,w
581 0F50 2EB3 ljmp _mcp_write
582 ;mcp2510.c: 165: void mcp_init(void)
583 ;mcp2510.c: 166: {
584 0F51 _mcp_init
585 ; _i assigned to ?a_mcp_init+0
586 0000 _mcp_init$i set ?a_mcp_init
587 ; _j assigned to ?a_mcp_init+1
588 0000 _mcp_init$j set ?a_mcp_init+1
589 ; _a assigned to ?a_mcp_init+2
590 0000 _mcp_init$a set ?a_mcp_init+2
591 ; _data assigned to ?a_mcp_init+3
592 0000 _mcp_init$data set ?a_mcp_init+3
593 ;mcp2510.c: 167: uchar data;
594 0F51 30E0 movlw -32
595 0F52 0183 clrf 3 ;select bank 0
596 0F53 00A4 movwf ?a_mcp_init+3
597 ;mcp2510.c: 172: mcp_write(15, &data, 1);
598 0F54 3024 movlw ?a_mcp_init+3
599 0F55 00E5 movwf ?_mcp_write
600 0F56 3080 movlw 128
601 0F57 00E6 movwf ?_mcp_write+1
602 0F58 01E7 clrf ?_mcp_write+2
603 0F59 0AE7 incf ?_mcp_write+2
604 0F5A 300F movlw 15
605 0F5B 26B3 120A 158A fcall _mcp_write
606 ;mcp2510.c: 188: data = 0x00 + 0x01;
607 0F5E 01A4 clrf ?a_mcp_init+3
608 0F5F 0AA4 incf ?a_mcp_init+3
609 ;mcp2510.c: 189: mcp_write(0x2A, &data, 1);
610 0F60 3024 movlw ?a_mcp_init+3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -