📄 comm.ls1
字号:
782 ; if(TIflag)
783 ; SOURCE LINE # 117
A51 MACRO ASSEMBLER COMM 08/03/2009 16:57:28 PAGE 13
0002 300004 F 784 JNB TIflag,?C0016
785 ; {
786 ; SOURCE LINE # 118
787 ; TIflag=0;
788 ; SOURCE LINE # 119
0005 C200 F 789 CLR TIflag
790 ; TI0=1;
791 ; SOURCE LINE # 120
0007 D299 792 SETB TI0
793 ; }
794 ; SOURCE LINE # 121
0009 795 ?C0016:
796 ; t=inTxBuf;t++;
797 ; SOURCE LINE # 122
0009 900000 F 798 MOV DPTR,#inTxBuf
000C E0 799 MOVX A,@DPTR
000D FC 800 MOV R4,A
000E A3 801 INC DPTR
000F E0 802 MOVX A,@DPTR
0010 AA04 803 MOV R2,AR4
0012 F9 804 MOV R1,A
0013 900000 F 805 MOV DPTR,#t?342
0016 7401 806 MOV A,#01H
0018 F0 807 MOVX @DPTR,A
0019 A3 808 INC DPTR
001A EA 809 MOV A,R2
001B F0 810 MOVX @DPTR,A
001C A3 811 INC DPTR
001D E9 812 MOV A,R1
001E F0 813 MOVX @DPTR,A
001F 900000 F 814 MOV DPTR,#t?342+01H
0022 E4 815 CLR A
0023 75F001 816 MOV B,#01H
0026 120000 F 817 LCALL ?C?IILDX
818 ; if(t==TxBuf+LenTxBuf) t=TxBuf;
819 ; SOURCE LINE # 123
0029 900000 F 820 MOV DPTR,#t?342
002C E0 821 MOVX A,@DPTR
002D FB 822 MOV R3,A
002E A3 823 INC DPTR
002F E0 824 MOVX A,@DPTR
0030 FA 825 MOV R2,A
0031 A3 826 INC DPTR
0032 E0 827 MOVX A,@DPTR
0033 F9 828 MOV R1,A
0034 7401 829 MOV A,#01H
0036 900000 F 830 MOV DPTR,#TxBuf+080H
0039 6B 831 XRL A,R3
003A 7008 832 JNZ ?C0039
003C E9 833 MOV A,R1
003D 6582 834 XRL A,DPL
003F 7003 835 JNZ ?C0039
0041 EA 836 MOV A,R2
0042 6583 837 XRL A,DPH
0044 838 ?C0039:
0044 700D 839 JNZ ?C0017
0046 900000 F 840 MOV DPTR,#t?342
0049 04 841 INC A
004A F0 842 MOVX @DPTR,A
004B A3 843 INC DPTR
004C 7400 F 844 MOV A,#HIGH (TxBuf)
004E F0 845 MOVX @DPTR,A
004F A3 846 INC DPTR
0050 7400 F 847 MOV A,#LOW (TxBuf)
0052 F0 848 MOVX @DPTR,A
0053 849 ?C0017:
A51 MACRO ASSEMBLER COMM 08/03/2009 16:57:28 PAGE 14
850 ; if(t==outTxBuf) {ES0=1;return;} //TxBuf Full
851 ; SOURCE LINE # 124
0053 900000 F 852 MOV DPTR,#outTxBuf
0056 E0 853 MOVX A,@DPTR
0057 FB 854 MOV R3,A
0058 A3 855 INC DPTR
0059 E0 856 MOVX A,@DPTR
005A FA 857 MOV R2,A
005B A3 858 INC DPTR
005C E0 859 MOVX A,@DPTR
005D F9 860 MOV R1,A
005E C003 861 PUSH AR3
0060 C002 862 PUSH AR2
0062 C001 863 PUSH AR1
0064 900000 F 864 MOV DPTR,#t?342
0067 E0 865 MOVX A,@DPTR
0068 FB 866 MOV R3,A
0069 A3 867 INC DPTR
006A E0 868 MOVX A,@DPTR
006B FA 869 MOV R2,A
006C A3 870 INC DPTR
006D E0 871 MOVX A,@DPTR
006E F9 872 MOV R1,A
006F D082 873 POP DPL
0071 D083 874 POP DPH
0073 D0E0 875 POP ACC
0075 6B 876 XRL A,R3
0076 7008 877 JNZ ?C0040
0078 E9 878 MOV A,R1
0079 6582 879 XRL A,DPL
007B 7003 880 JNZ ?C0040
007D EA 881 MOV A,R2
007E 6583 882 XRL A,DPH
0080 883 ?C0040:
0080 7003 884 JNZ ?C0018
0082 D2AC 885 SETB ES0
0084 22 886 RET
0085 887 ?C0018:
888 ; *inTxBuf=ascii;
889 ; SOURCE LINE # 125
0085 900000 F 890 MOV DPTR,#inTxBuf
0088 E0 891 MOVX A,@DPTR
0089 FC 892 MOV R4,A
008A A3 893 INC DPTR
008B E0 894 MOVX A,@DPTR
008C F582 895 MOV DPL,A
008E 8C83 896 MOV DPH,R4
0090 EF 897 MOV A,R7
0091 F0 898 MOVX @DPTR,A
899 ; inTxBuf=t;
900 ; SOURCE LINE # 126
0092 900000 F 901 MOV DPTR,#t?342
0095 A3 902 INC DPTR
0096 E0 903 MOVX A,@DPTR
0097 FA 904 MOV R2,A
0098 A3 905 INC DPTR
0099 E0 906 MOVX A,@DPTR
009A FF 907 MOV R7,A
009B 900000 F 908 MOV DPTR,#inTxBuf
009E EA 909 MOV A,R2
009F F0 910 MOVX @DPTR,A
00A0 A3 911 INC DPTR
00A1 EF 912 MOV A,R7
00A2 F0 913 MOVX @DPTR,A
914 ; ES0=1;
915 ; SOURCE LINE # 127
A51 MACRO ASSEMBLER COMM 08/03/2009 16:57:28 PAGE 15
00A3 D2AC 916 SETB ES0
917 ; }
918 ; SOURCE LINE # 128
00A5 919 ?C0019:
00A5 22 920 RET
921 ; END OF _Printf_Char
922
923 ;
924 ;
925 ; /**********************************************************************
926 ; ** 函数原型: void Printf_String(u8_t code *string)
927 ; ** 参数说明: string: 字符串的起始地址
928 ; ** 返 回 值: 无
929 ; ** 说 明: 向串口发送字符串,碰到0x00结束
930 ; ************************************************************************/
931 ; void Printf_String(unsigned char *string)
932
---- 933 RSEG ?PR?_Printf_String?COMM
0000 934 _Printf_String:
935 USING 0
936 ; SOURCE LINE # 137
0000 900000 F 937 MOV DPTR,#string?443
0003 EB 938 MOV A,R3
0004 F0 939 MOVX @DPTR,A
0005 A3 940 INC DPTR
0006 EA 941 MOV A,R2
0007 F0 942 MOVX @DPTR,A
0008 A3 943 INC DPTR
0009 E9 944 MOV A,R1
000A F0 945 MOVX @DPTR,A
946 ; {
947 ; SOURCE LINE # 138
000B 948 ?C0020:
949 ;
950 ; while(*string!=0)
951 ; SOURCE LINE # 140
000B 900000 F 952 MOV DPTR,#string?443
000E E0 953 MOVX A,@DPTR
000F FB 954 MOV R3,A
0010 A3 955 INC DPTR
0011 E0 956 MOVX A,@DPTR
0012 FA 957 MOV R2,A
0013 A3 958 INC DPTR
0014 E0 959 MOVX A,@DPTR
0015 F9 960 MOV R1,A
0016 120000 F 961 LCALL ?C?CLDPTR
0019 FF 962 MOV R7,A
001A 600F 963 JZ ?C0022
964 ; {
965 ; SOURCE LINE # 141
966 ; Printf_Char(*string);
967 ; SOURCE LINE # 142
001C 120000 F 968 LCALL _Printf_Char
969 ; string++;
970 ; SOURCE LINE # 143
001F 900000 F 971 MOV DPTR,#string?443+01H
0022 E4 972 CLR A
0023 75F001 973 MOV B,#01H
0026 120000 F 974 LCALL ?C?IILDX
975 ; }
976 ; SOURCE LINE # 144
0029 80E0 977 SJMP ?C0020
978 ; }
979 ; SOURCE LINE # 145
002B 980 ?C0022:
002B 22 981 RET
A51 MACRO ASSEMBLER COMM 08/03/2009 16:57:28 PAGE 16
982 ; END OF _Printf_String
983
984 ;
985 ; /**********************************************************************
986 ; **函数原型: Get_Char()
987 ; **参数说明: 无
988 ; **返 回 值: temp
989 ; **说 明: 从串口缓冲区接收一个字符
990 ; ************************************************************************/
991 ; bit Get_Char(unsigned char xdata *ch)
992
---- 993 RSEG ?PR?_Get_Char?COMM
0000 994 _Get_Char:
995 USING 0
996 ; SOURCE LINE # 153
997 ;---- Variable 'ch?544' assigned to Register 'R6/R7' ----
998 ; {
999 ; SOURCE LINE # 154
1000 ;
1001 ; ES0=0;
1002 ; SOURCE LINE # 156
0000 C2AC 1003 CLR ES0
1004 ; if(inRxBuf==outRxBuf) {ES0=1;return 0;} //RxBuf Empty
1005 ; SOURCE LINE # 157
0002 900000 F 1006 MOV DPTR,#outRxBuf
0005 E0 1007 MOVX A,@DPTR
0006 FB 1008 MOV R3,A
0007 A3 1009 INC DPTR
0008 E0 1010 MOVX A,@DPTR
0009 FA 1011 MOV R2,A
000A A3 1012 INC DPTR
000B E0 1013 MOVX A,@DPTR
000C F9 1014 MOV R1,A
000D C003 1015 PUSH AR3
000F C002 1016 PUSH AR2
0011 C001 1017 PUSH AR1
0013 900000 F 1018 MOV DPTR,#inRxBuf
0016 E0 1019 MOVX A,@DPTR
0017 FB 1020 MOV R3,A
0018 A3 1021 INC DPTR
0019 E0 1022 MOVX A,@DPTR
001A FA 1023 MOV R2,A
001B A3 1024 INC DPTR
001C E0 1025 MOVX A,@DPTR
001D F9 1026 MOV R1,A
001E D082 1027 POP DPL
0020 D083 1028 POP DPH
0022 D0E0 1029 POP ACC
0024 6B 1030 XRL A,R3
0025 7008 1031 JNZ ?C0041
0027 E9 1032 MOV A,R1
0028 6582 1033 XRL A,DPL
002A 7003 1034 JNZ ?C0041
002C EA 1035 MOV A,R2
002D 6583 1036 XRL A,DPH
002F 1037 ?C0041:
002F 7004 1038 JNZ ?C0023
0031 D2AC 1039 SETB ES0
0033 C3 1040 CLR C
0034 22 1041 RET
0035 1042 ?C0023:
1043 ; *ch=*outRxBuf; outRxBuf++; //数据被读走,读指
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -