📄 modbus.lst
字号:
537 031E 3443 retlw 67
538 031F 3483 retlw -125
539 0320 3441 retlw 65
540 0321 3481 retlw -127
541 0322 3480 retlw -128
542 0323 3440 retlw 64
543 0000 _ClearBus$ClearLength set ?_ClearBus
544
545 psect text0
546 0C60 _ClearBus
547 ; _p_array2 assigned to ?a_ClearBus+0
548 0000 _ClearBus$p_array2 set ?a_ClearBus
549 ;_p_array2 stored from w
550 0C60 0183 clrf 3 ;select bank 0
551 0C61 00C6 movwf ?a_ClearBus
552 0C62 l18
553 ;modbus.c: 83: do
554 ;modbus.c: 84: {
555 0C62 0846 movf ?a_ClearBus,w
556 0C63 0084 movwf 4
557 0C64 1383 bcf 3,7
558 0C65 0180 clrf 0
559 0C66 0AC6 incf ?a_ClearBus
560 ;modbus.c: 86: }
561 0C67 0BC6 decfsz ?_ClearBus
562 0C68 2C62 goto l18
563 0C69 0008 return
564
565 psect text1
566 ;modbus.c: 93: void Uart_ini(void)
567 ;modbus.c: 94: {
568 03BD _Uart_ini
569 ; _BAUD assigned to ?a_Uart_ini+0
570 0000 _Uart_ini$BAUD set ?a_Uart_ini
571 ;modbus.c: 95: uint BAUD;
572 03BD 178B bsf 11,7
573 ;modbus.c: 97: TRISB |= 0b00000110;
574 03BE 3006 movlw 6
575 03BF 1683 bsf 3,5
576 03C0 1303 bcf 3,6 ;carry unused
577 03C1 0486 iorwf 6 ;volatile
578 ;modbus.c: 98: RBPU = 0;
579 03C2 1381 bcf 1,7
580 ;modbus.c: 103: switch (1)
581 03C3 2BD5 goto l21
582 03C4 l22
583 ;modbus.c: 104: {
584 03C4 30C0 movlw 192
585 03C5 1283 bcf 3,5
586 03C6 00C6 movwf ?a_Uart_ini
587 03C7 3012 movlw 18
588 03C8 2BF0 goto L5
589 ;modbus.c: 106: case 1: BAUD = 9600; break;
590 03C9 l24
591 ;modbus.c: 107: case 2: BAUD = 19200; break;
592 03C9 1283 bcf 3,5
593 03CA 01C6 clrf ?a_Uart_ini
594 03CB 304B movlw 75
595 03CC 2BF0 goto L5
596 03CD l25
597 ;modbus.c: 108: case 3: BAUD = 38400; break;
598 03CD 1283 bcf 3,5
599 03CE 01C6 clrf ?a_Uart_ini
600 03CF 3096 movlw 150
601 03D0 2BF0 goto L5
602 03D1 l26
603 ;modbus.c: 109: case 4: BAUD = 57600; break;
604 03D1 1283 bcf 3,5
605 03D2 01C6 clrf ?a_Uart_ini
606 03D3 30E1 movlw 225
607 03D4 2BF0 goto L5
608 03D5 l21
609 03D5 3001 movlw 1
610 03D6 00F2 movwf btemp+2
611 03D7 01F3 clrf btemp+3
612 03D8 2BE9 goto l30003
613 03D9 l30004
614 03D9 0872 movf btemp+2,w
615 03DA 1903 btfsc 3,2
616 03DB 2BC4 goto l22
617 03DC 3A01 xorlw 1
618 03DD 1903 btfsc 3,2
619 03DE 2BEC goto l27
620 03DF 3A03 xorlw 3
621 03E0 1903 btfsc 3,2
622 03E1 2BC9 goto l24
623 03E2 3A01 xorlw 1
624 03E3 1903 btfsc 3,2
625 03E4 2BCD goto l25
626 03E5 3A07 xorlw 7
627 03E6 1903 btfsc 3,2
628 03E7 2BD1 goto l26
629 03E8 2BEC goto l27
630 03E9 l30003
631 03E9 0873 movf btemp+3,w
632 03EA 1903 btfsc 3,2
633 03EB 2BD9 goto l30004
634 03EC l27
635 ;modbus.c: 110: default: BAUD = 9600; break;
636 03EC 3080 movlw 128
637 03ED 1283 bcf 3,5
638 03EE 00C6 movwf ?a_Uart_ini
639 03EF 3025 movlw 37
640 03F0 L5
641 03F0 00C7 movwf ?a_Uart_ini+1
642 ;modbus.c: 112: SPBRG = 8000000/BAUD/16-1;
643 03F1 0846 movf ?a_Uart_ini,w
644 03F2 00F4 movwf btemp+4
645 03F3 0847 movf ?a_Uart_ini+1,w
646 03F4 00F5 movwf btemp+5
647 03F5 01F6 clrf btemp+6
648 03F6 01F7 clrf btemp+7
649 03F7 01F0 clrf btemp
650 03F8 3012 movlw 18
651 03F9 00F1 movwf btemp+1
652 03FA 307A movlw 122
653 03FB 00F2 movwf btemp+2
654 03FC 3000 movlw 0
655 03FD 01F3 clrf btemp+3
656 03FE 118A 2739 fcall aldiv
657 0400 3010 movlw 16
658 0401 00F4 movwf btemp+4
659 0402 3000 movlw 0
660 0403 01F5 clrf btemp+5
661 0404 01F6 clrf btemp+6
662 0405 01F7 clrf btemp+7
663 0406 118A 2739 fcall aldiv
664 0408 0370 decf btemp,w
665 0409 1683 bsf 3,5
666 040A 0099 movwf 25
667 ;modbus.c: 114: FrameOverCou = (uchar)(1000.0*4
+ 0/BAUD);
668 040B 1283 bcf 3,5
669 040C 0847 movf ?a_Uart_ini+1,w
670 040D 00F1 movwf btemp+1
671 040E 0846 movf ?a_Uart_ini,w
672 040F 00F0 movwf btemp
673 0410 118A 26FC fcall lwtoft
674 0412 0870 movf btemp,w
675 0413 00F3 movwf btemp+3
676 0414 0871 movf btemp+1,w
677 0415 00F4 movwf btemp+4
678 0416 0872 movf btemp+2,w
679 0417 00F5 movwf btemp+5
680 0418 3040 movlw 64
681 0419 00F0 movwf btemp
682 041A 301C movlw 28
683 041B 00F1 movwf btemp+1
684 041C 3047 movlw 71
685 041D 00F2 movwf btemp+2
686 041E 118A 2688 fcall ftdiv
687 0420 118A 26C0 118A fcall fttol
688 0423 0870 movf btemp,w
689 0424 1703 bsf 3,6
690 0425 00A0 movwf _FrameOverCou^(0+256)
691 ;modbus.c: 115: FrameOverCou += 1;
692 0426 0AA0 incf _FrameOverCou^(0+256)
693 ;modbus.c: 116: TXSTA = 0b10000100;
694 0427 3084 movlw -124
695 0428 1683 bsf 3,5
696 0429 1303 bcf 3,6 ;carry unused
697 042A 0098 movwf 24 ;volatile
698 ;modbus.c: 125: RCSTA = 0b00100000;
699 042B 3020 movlw 32
700 042C 1283 bcf 3,5
701 042D 0098 movwf 24 ;volatile
702 ;modbus.c: 132: TX9 = 1;
703 042E 1683 bsf 3,5
704 042F 1718 bsf 24,6
705 ;modbus.c: 133: RX9 = 1;
706 0430 1283 bcf 3,5
707 0431 1718 bsf 24,6
708 ;modbus.c: 134: RCREG = 0;
709 0432 019A clrf 26 ;volatile
710 ;modbus.c: 136: SPEN = 1;
711 0433 1798 bsf 24,7
712 ;modbus.c: 137: TXIE = 0;
713 0434 1683 bsf 3,5
714 0435 120C bcf 12,4
715 ;modbus.c: 138: TXEN = 0;
716 0436 1298 bcf 24,5
717 ;modbus.c: 139: CREN = 0;
718 0437 1283 bcf 3,5
719 0438 1218 bcf 24,4
720 ;modbus.c: 140: RCIE = 0;
721 0439 1683 bsf 3,5
722 043A 128C bcf 12,5
723 ;modbus.c: 144: UartStruct.bits.HostStatus = 0;
724 043B 0824 movf _UartStruct^(0+128),w ;volatile
725 043C 39FC andlw -4
726 043D 00A4 movwf _UartStruct^(0+128) ;volatile
727 ;modbus.c: 146: }
728 043E 1283 bcf 3,5
729 043F 0008 return
730
731 psect text3
732 ;modbus.c: 168: void En_Receive(void)
733 ;modbus.c: 169: {
734 0C80 _En_Receive
735 ;modbus.c: 170: UartStruct.bits.HostStatus = 1;
736 0C80 1683 bsf 3,5
737 0C81 1303 bcf 3,6 ;carry unused
738 0C82 0824 movf _UartStruct^(0+128),w ;volatile
739 0C83 39FC andlw -4
740 0C84 3801 iorlw 1
741 0C85 00A4 movwf _UartStruct^(0+128) ;volatile
742 ;modbus.c: 174: CREN = 1;
743 0C86 1283 bcf 3,5
744 0C87 1618 bsf 24,4
745 ;modbus.c: 175: RCIE = 1;
746 0C88 1683 bsf 3,5
747 0C89 168C bsf 12,5
748 ;modbus.c: 176: }
749 0C8A 1283 bcf 3,5
750 0C8B 0008 return
751
752 psect text4
753 ;modbus.c: 179: void En_Idlesse(void)
754 ;modbus.c: 180: {
755 0C6A _En_Idlesse
756 ;modbus.c: 181: UartStruct.bits.HostStatus = 0;
757 0C6A 1683 bsf 3,5
758 0C6B 1303 bcf 3,6 ;carry unused
759 0C6C 0824 movf _UartStruct^(0+128),w ;volatile
760 0C6D 39FC andlw -4
761 0C6E 00A4 movwf _UartStruct^(0+128) ;volatile
762 ;modbus.c: 182: CREN = 0;
763 0C6F 1283 bcf 3,5
764 0C70 1218 bcf 24,4
765 ;modbus.c: 183: RCIE = 0;
766 0C71 1683 bsf 3,5
767 0C72 128C bcf 12,5
768 ;modbus.c: 186: }
769 0C73 1283 bcf 3,5
770 0C74 0008 return
771
772 psect text8
773 0EAC _ParityBitTwo
774 ; _temp_a assigned to ?a_ParityBitTwo+0
775 0000 _ParityBitTwo$temp_a set ?a_ParityBitTwo
776 ; _result assigned to ?a_ParityBitTwo+1
777 0000 _ParityBitTwo$result set ?a_ParityBitTwo+1
778 ; _tempcount assigned to ?a_ParityBitTwo+2
779 0000 _ParityBitTwo$tempcount set ?a_ParityBitTwo+2
780 ; _tempchar assigned to ?a_ParityBitTwo+3
781 0000 _ParityBitTwo$tempchar set ?a_ParityBitTwo+3
782 ;modbus.c: 313: char tempchar=0, tempcount ,tem
+ p_a=0,result=0;
783 0EAC 0183 clrf 3 ;select bank 0
784 0EAD 01CD clrf ?a_ParityBitTwo+3
785 0EAE 01CA clrf ?a_ParityBitTwo
786 0EAF 01CB clrf ?a_ParityBitTwo+1
787 ;modbus.c: 314: tempchar = *p_data;
788 0EB0 0849 movf ?_ParityBitTwo+1,w
789 0EB1 00DB movwf code_ptr+1
790 0EB2 0848 movf ?_ParityBitTwo,w
791 0EB3 118A 210E 158A fcall string_table
792 0EB6 00CD movwf ?a_ParityBitTwo+3
793 ;modbus.c: 316: for(tempcount = 8; tempcount >
+ 0; tempcount--)
794 0EB7 3008 movlw 8
795 0EB8 00CC movwf ?a_ParityBitTwo+2
796 0EB9 l78
797 ;modbus.c: 317: {
798 ;modbus.c: 318: temp_a = tempchar & 0x01;
799 0EB9 084D movf ?a_ParityBitTwo+3,w
800 0EBA 3901 andlw 1
801 0EBB 00CA movwf ?a_ParityBitTwo
802 ;modbus.c: 319: if(1 == temp_a)
803 0EBC 0B4A decfsz ?a_ParityBitTwo,w
804 0EBD 2EBF goto l81
805 ;modbus.c: 320: {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -