📄 serial.ls1
字号:
003B 7005 659 JNZ ?C0010
003D D2AC 660 SETB ES
003F C3 661 CLR C
0040 8058 662 SJMP ?C0011
0042 663 ?C0010:
664 ; *ch=*outRxBuf; outRxBuf++;
665 ; SOURCE LINE # 128
0042 900000 F 666 MOV DPTR,#outRxBuf
0045 E0 667 MOVX A,@DPTR
0046 FB 668 MOV R3,A
0047 A3 669 INC DPTR
0048 E0 670 MOVX A,@DPTR
0049 FA 671 MOV R2,A
004A A3 672 INC DPTR
004B E0 673 MOVX A,@DPTR
004C F9 674 MOV R1,A
004D 120000 F 675 LCALL ?C?CLDPTR
0050 FF 676 MOV R7,A
0051 850083 F 677 MOV DPH,?C_XBP
0054 850082 F 678 MOV DPL,?C_XBP+01H
0057 E0 679 MOVX A,@DPTR
0058 FB 680 MOV R3,A
0059 A3 681 INC DPTR
005A E0 682 MOVX A,@DPTR
005B FA 683 MOV R2,A
005C A3 684 INC DPTR
005D E0 685 MOVX A,@DPTR
005E F9 686 MOV R1,A
005F EF 687 MOV A,R7
0060 120000 F 688 LCALL ?C?CSTPTR
0063 900000 F 689 MOV DPTR,#outRxBuf+01H
0066 E4 690 CLR A
0067 75F001 691 MOV B,#01H
006A 120000 F 692 LCALL ?C?IILDX
693 ; if(outRxBuf==RxBuf+LenRxBuf) outRxBuf=RxBuf;
694 ; SOURCE LINE # 129
006D 900000 F 695 MOV DPTR,#outRxBuf
0070 E0 696 MOVX A,@DPTR
0071 FB 697 MOV R3,A
0072 A3 698 INC DPTR
0073 E0 699 MOVX A,@DPTR
0074 FA 700 MOV R2,A
0075 A3 701 INC DPTR
0076 E0 702 MOVX A,@DPTR
0077 F9 703 MOV R1,A
0078 7401 704 MOV A,#01H
007A 900000 F 705 MOV DPTR,#RxBuf+032H
007D 6B 706 XRL A,R3
007E 7008 707 JNZ ?C0180
0080 E9 708 MOV A,R1
0081 6582 709 XRL A,DPL
A51 MACRO ASSEMBLER SERIAL 09/04/2007 10:27:37 PAGE 12
0083 7003 710 JNZ ?C0180
0085 EA 711 MOV A,R2
0086 6583 712 XRL A,DPH
0088 713 ?C0180:
0088 700F 714 JNZ ?C0012
008A 7B01 715 MOV R3,#01H
008C 900000 F 716 MOV DPTR,#outRxBuf
008F 04 717 INC A
0090 F0 718 MOVX @DPTR,A
0091 A3 719 INC DPTR
0092 7400 F 720 MOV A,#HIGH (RxBuf)
0094 F0 721 MOVX @DPTR,A
0095 A3 722 INC DPTR
0096 7400 F 723 MOV A,#LOW (RxBuf)
0098 F0 724 MOVX @DPTR,A
0099 725 ?C0012:
726 ; //ES=1;
727 ; return 1;
728 ; SOURCE LINE # 131
0099 D3 729 SETB C
730 ; }
731 ; SOURCE LINE # 132
009A 732 ?C0011:
009A C0D0 733 PUSH PSW
009C 900003 734 MOV DPTR,#03H
009F 120000 F 735 LCALL ?C?ADDXBP
00A2 D0D0 736 POP PSW
00A4 22 737 RET
738 ; END OF _?yygetch
739
740 ;
741 ; void PrintChar(unsigned char ch) reentrant//显示字符
742
---- 743 RSEG ?PR?_?PrintChar?SERIAL
0000 744 L?0209:
745 USING 0
0000 900009 746 MOV DPTR,#09H
0003 120000 F 747 LCALL ?C?XBPOFF
0006 E0 748 MOVX A,@DPTR
0007 FC 749 MOV R4,A
0008 A3 750 INC DPTR
0009 E0 751 MOVX A,@DPTR
000A FD 752 MOV R5,A
000B A3 753 INC DPTR
000C E0 754 MOVX A,@DPTR
000D FE 755 MOV R6,A
000E A3 756 INC DPTR
000F E0 757 MOVX A,@DPTR
0010 FF 758 MOV R7,A
0011 120000 F 759 LCALL ?C?ULDIV
0014 850083 F 760 MOV DPH,?C_XBP
0017 850082 F 761 MOV DPL,?C_XBP+01H
001A A3 762 INC DPTR
001B 120000 F 763 LCALL ?C?LSTXDATA
001E 850083 F 764 MOV DPH,?C_XBP
0021 850082 F 765 MOV DPL,?C_XBP+01H
0024 A3 766 INC DPTR
0025 A3 767 INC DPTR
0026 A3 768 INC DPTR
0027 A3 769 INC DPTR
0028 E0 770 MOVX A,@DPTR
0029 2430 771 ADD A,#030H
002B FF 772 MOV R7,A
002C 773 _?PrintChar:
774 USING 0
775 ; SOURCE LINE # 134
A51 MACRO ASSEMBLER SERIAL 09/04/2007 10:27:37 PAGE 13
002C 90FFFF 776 MOV DPTR,#0FFFFH
002F 120000 F 777 LCALL ?C?ADDXBP
0032 EF 778 MOV A,R7
0033 F0 779 MOVX @DPTR,A
0034 90FFFD 780 MOV DPTR,#0FFFDH
0037 120000 F 781 LCALL ?C?ADDXBP
782 ; {
783 ; unsigned char *t;
784 ;
785 ; //ES=0;
786 ; //入临界区
787 ; #pragma ASM
788 ; PUSH IE;
003A C0A8 789 PUSH IE;
790 ; CLR EA;
003C C2AF 791 CLR EA;
792 ; #pragma ENDASM
793 ; t=inTxBuf;t++;
794 ; SOURCE LINE # 144
003E 900000 F 795 MOV DPTR,#inTxBuf
0041 E0 796 MOVX A,@DPTR
0042 F9 797 MOV R1,A
0043 A3 798 INC DPTR
0044 E0 799 MOVX A,@DPTR
0045 FA 800 MOV R2,A
0046 A3 801 INC DPTR
0047 E0 802 MOVX A,@DPTR
0048 850083 F 803 MOV DPH,?C_XBP
004B 850082 F 804 MOV DPL,?C_XBP+01H
004E C9 805 XCH A,R1
004F F0 806 MOVX @DPTR,A
0050 A3 807 INC DPTR
0051 EA 808 MOV A,R2
0052 F0 809 MOVX @DPTR,A
0053 A3 810 INC DPTR
0054 E9 811 MOV A,R1
0055 F0 812 MOVX @DPTR,A
0056 850083 F 813 MOV DPH,?C_XBP
0059 850082 F 814 MOV DPL,?C_XBP+01H
005C A3 815 INC DPTR
005D E4 816 CLR A
005E 75F001 817 MOV B,#01H
0061 120000 F 818 LCALL ?C?IILDX
819 ; if(t==TxBuf+LenTxBuf) t=TxBuf;
820 ; SOURCE LINE # 145
0064 850083 F 821 MOV DPH,?C_XBP
0067 850082 F 822 MOV DPL,?C_XBP+01H
006A E0 823 MOVX A,@DPTR
006B FB 824 MOV R3,A
006C A3 825 INC DPTR
006D E0 826 MOVX A,@DPTR
006E FA 827 MOV R2,A
006F A3 828 INC DPTR
0070 E0 829 MOVX A,@DPTR
0071 F9 830 MOV R1,A
0072 7401 831 MOV A,#01H
0074 900000 F 832 MOV DPTR,#TxBuf+07D0H
0077 6B 833 XRL A,R3
0078 7008 834 JNZ ?C0181
007A E9 835 MOV A,R1
007B 6582 836 XRL A,DPL
007D 7003 837 JNZ ?C0181
007F EA 838 MOV A,R2
0080 6583 839 XRL A,DPH
0082 840 ?C0181:
0082 7010 841 JNZ ?C0013
A51 MACRO ASSEMBLER SERIAL 09/04/2007 10:27:37 PAGE 14
0084 850083 F 842 MOV DPH,?C_XBP
0087 850082 F 843 MOV DPL,?C_XBP+01H
008A 04 844 INC A
008B F0 845 MOVX @DPTR,A
008C A3 846 INC DPTR
008D 7400 F 847 MOV A,#HIGH (TxBuf)
008F F0 848 MOVX @DPTR,A
0090 A3 849 INC DPTR
0091 7400 F 850 MOV A,#LOW (TxBuf)
0093 F0 851 MOVX @DPTR,A
0094 852 ?C0013:
853 ; if(t==outTxBuf) {/*ES=1;*/
854 ; SOURCE LINE # 146
0094 900000 F 855 MOV DPTR,#outTxBuf
0097 E0 856 MOVX A,@DPTR
0098 FB 857 MOV R3,A
0099 A3 858 INC DPTR
009A E0 859 MOVX A,@DPTR
009B FA 860 MOV R2,A
009C A3 861 INC DPTR
009D E0 862 MOVX A,@DPTR
009E F9 863 MOV R1,A
009F C003 864 PUSH AR3
00A1 C002 865 PUSH AR2
00A3 C001 866 PUSH AR1
00A5 850083 F 867 MOV DPH,?C_XBP
00A8 850082 F 868 MOV DPL,?C_XBP+01H
00AB E0 869 MOVX A,@DPTR
00AC FB 870 MOV R3,A
00AD A3 871 INC DPTR
00AE E0 872 MOVX A,@DPTR
00AF FA 873 MOV R2,A
00B0 A3 874 INC DPTR
00B1 E0 875 MOVX A,@DPTR
00B2 F9 876 MOV R1,A
00B3 D082 877 POP DPL
00B5 D083 878 POP DPH
00B7 D0E0 879 POP ACC
00B9 6B 880 XRL A,R3
00BA 7008 881 JNZ ?C0182
00BC E9 882 MOV A,R1
00BD 6582 883 XRL A,DPL
00BF 7003 884 JNZ ?C0182
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -