📄 uart.ls1
字号:
916 ; SOURCE LINE # 207
917 ; if(OutputOutTime==0 || (GetTickCount() - starttime >= OutputOutTime
))
918 ; SOURCE LINE # 208
0055 900000 F 919 MOV DPTR,#OutputOutTime
0058 E0 920 MOVX A,@DPTR
0059 7002 921 JNZ ?C0047
005B A3 922 INC DPTR
005C E0 923 MOVX A,@DPTR
005D 924 ?C0047:
005D 6031 925 JZ ?C0053
005F 120000 F 926 LCALL GetTickCount
0062 900000 F 927 MOV DPTR,#starttime?648
0065 E0 928 MOVX A,@DPTR
0066 FC 929 MOV R4,A
0067 A3 930 INC DPTR
0068 E0 931 MOVX A,@DPTR
0069 FD 932 MOV R5,A
006A C3 933 CLR C
006B EF 934 MOV A,R7
006C 9D 935 SUBB A,R5
006D FF 936 MOV R7,A
006E EE 937 MOV A,R6
006F 9C 938 SUBB A,R4
0070 FE 939 MOV R6,A
0071 D3 940 SETB C
0072 900000 F 941 MOV DPTR,#OutputOutTime+01H
0075 E0 942 MOVX A,@DPTR
0076 9F 943 SUBB A,R7
0077 900000 F 944 MOV DPTR,#OutputOutTime
007A E0 945 MOVX A,@DPTR
007B 9E 946 SUBB A,R6
007C 50B8 947 JNC ?C0027
007E 948 ?C0030:
949 ; return i;
950 ; SOURCE LINE # 209
007E 8010 951 SJMP ?C0053
952 ; }
953 ; SOURCE LINE # 210
954 ; }
955 ; SOURCE LINE # 211
0080 956 ?C0026:
0080 900000 F 957 MOV DPTR,#i?647+01H
0083 E0 958 MOVX A,@DPTR
0084 04 959 INC A
0085 F0 960 MOVX @DPTR,A
0086 708E 961 JNZ ?C0024
0088 900000 F 962 MOV DPTR,#i?647
008B E0 963 MOVX A,@DPTR
008C 04 964 INC A
008D F0 965 MOVX @DPTR,A
008E 966 ?C0048:
008E 8086 967 SJMP ?C0024
0090 968 ?C0025:
969 ; return i;
970 ; SOURCE LINE # 212
0090 971 ?C0053:
0090 900000 F 972 MOV DPTR,#i?647
0093 E0 973 MOVX A,@DPTR
0094 FE 974 MOV R6,A
0095 A3 975 INC DPTR
0096 E0 976 MOVX A,@DPTR
0097 FF 977 MOV R7,A
978 ; }
979 ; SOURCE LINE # 213
0098 980 ?C0031:
A51 MACRO ASSEMBLER UART 03/13/2009 15:44:52 PAGE 16
0098 22 981 RET
982 ; END OF _ComWrite
983
984 ;
985 ; unsigned int ComRead( unsigned char *buf, unsigned int len )
986
---- 987 RSEG ?PR?_ComRead?UART
0000 988 _ComRead:
989 USING 0
990 ; SOURCE LINE # 215
0000 900000 F 991 MOV DPTR,#buf?749
0003 EB 992 MOV A,R3
0004 F0 993 MOVX @DPTR,A
0005 A3 994 INC DPTR
0006 EA 995 MOV A,R2
0007 F0 996 MOVX @DPTR,A
0008 A3 997 INC DPTR
0009 E9 998 MOV A,R1
000A F0 999 MOVX @DPTR,A
000B A3 1000 INC DPTR
000C EC 1001 MOV A,R4
000D F0 1002 MOVX @DPTR,A
000E A3 1003 INC DPTR
000F ED 1004 MOV A,R5
0010 F0 1005 MOVX @DPTR,A
1006 ; {
1007 ; SOURCE LINE # 216
1008 ; unsigned int i;
1009 ; unsigned int starttime;
1010 ; int tmp;
1011 ;
1012 ; for(i=0; i<len; i++)
1013 ; SOURCE LINE # 221
0011 E4 1014 CLR A
0012 A3 1015 INC DPTR
0013 F0 1016 MOVX @DPTR,A
0014 A3 1017 INC DPTR
0015 F0 1018 MOVX @DPTR,A
0016 1019 ?C0032:
0016 900000 F 1020 MOV DPTR,#len?750
0019 E0 1021 MOVX A,@DPTR
001A FE 1022 MOV R6,A
001B A3 1023 INC DPTR
001C E0 1024 MOVX A,@DPTR
001D FF 1025 MOV R7,A
001E C3 1026 CLR C
001F 900000 F 1027 MOV DPTR,#i?751+01H
0022 E0 1028 MOVX A,@DPTR
0023 9F 1029 SUBB A,R7
0024 900000 F 1030 MOV DPTR,#i?751
0027 E0 1031 MOVX A,@DPTR
0028 9E 1032 SUBB A,R6
0029 507A 1033 JNC ?C0033
1034 ; {
1035 ; SOURCE LINE # 222
1036 ; starttime = GetTickCount();
1037 ; SOURCE LINE # 223
002B 120000 F 1038 LCALL GetTickCount
002E 900000 F 1039 MOV DPTR,#starttime?752
0031 EE 1040 MOV A,R6
0032 F0 1041 MOVX @DPTR,A
0033 A3 1042 INC DPTR
0034 EF 1043 MOV A,R7
0035 F0 1044 MOVX @DPTR,A
0036 1045 ?C0035:
1046 ; while((tmp = GetInputData()) < 0)
A51 MACRO ASSEMBLER UART 03/13/2009 15:44:52 PAGE 17
1047 ; SOURCE LINE # 224
0036 120000 F 1048 LCALL GetInputData
0039 900000 F 1049 MOV DPTR,#tmp?753
003C EE 1050 MOV A,R6
003D F0 1051 MOVX @DPTR,A
003E A3 1052 INC DPTR
003F EF 1053 MOV A,R7
0040 F0 1054 MOVX @DPTR,A
0041 C3 1055 CLR C
0042 EE 1056 MOV A,R6
0043 6480 1057 XRL A,#080H
0045 9480 1058 SUBB A,#080H
0047 502B 1059 JNC ?C0036
1060 ; {
1061 ; SOURCE LINE # 225
1062 ; if(InputOutTime==0 || (GetTickCount() - starttime >= InputOutTime))
1063 ; SOURCE LINE # 226
0049 900000 F 1064 MOV DPTR,#InputOutTime
004C E0 1065 MOVX A,@DPTR
004D 7002 1066 JNZ ?C0049
004F A3 1067 INC DPTR
0050 E0 1068 MOVX A,@DPTR
0051 1069 ?C0049:
0051 6052 1070 JZ ?C0054
0053 120000 F 1071 LCALL GetTickCount
0056 900000 F 1072 MOV DPTR,#starttime?752
0059 E0 1073 MOVX A,@DPTR
005A FC 1074 MOV R4,A
005B A3 1075 INC DPTR
005C E0 1076 MOVX A,@DPTR
005D FD 1077 MOV R5,A
005E C3 1078 CLR C
005F EF 1079 MOV A,R7
0060 9D 1080 SUBB A,R5
0061 FF 1081 MOV R7,A
0062 EE 1082 MOV A,R6
0063 9C 1083 SUBB A,R4
0064 FE 1084 MOV R6,A
0065 D3 1085 SETB C
0066 900000 F 1086 MOV DPTR,#InputOutTime+01H
0069 E0 1087 MOVX A,@DPTR
006A 9F 1088 SUBB A,R7
006B 900000 F 1089 MOV DPTR,#InputOutTime
006E E0 1090 MOVX A,@DPTR
006F 9E 1091 SUBB A,R6
0070 50C4 1092 JNC ?C0035
0072 1093 ?C0038:
1094 ; return i;
1095 ; SOURCE LINE # 227
0072 8031 1096 SJMP ?C0054
1097 ; }
1098 ; SOURCE LINE # 228
0074 1099 ?C0036:
1100 ; buf[i] = (unsigned char)tmp;
1101 ; SOURCE LINE # 229
0074 900000 F 1102 MOV DPTR,#tmp?753
0077 A3 1103 INC DPTR
0078 E0 1104 MOVX A,@DPTR
0079 FF 1105 MOV R7,A
007A 900000 F 1106 MOV DPTR,#buf?749
007D E0 1107 MOVX A,@DPTR
007E FB 1108 MOV R3,A
007F A3 1109 INC DPTR
0080 E0 1110 MOVX A,@DPTR
0081 FA 1111 MOV R2,A
0082 A3 1112 INC DPTR
A51 MACRO ASSEMBLER UART 03/13/2009 15:44:52 PAGE 18
0083 E0 1113 MOVX A,@DPTR
0084 F9 1114 MOV R1,A
0085 900000 F 1115 MOV DPTR,#i?751
0088 E0 1116 MOVX A,@DPTR
0089 FC 1117 MOV R4,A
008A A3 1118 INC DPTR
008B E0 1119 MOVX A,@DPTR
008C F582 1120 MOV DPL,A
008E 8C83 1121 MOV DPH,R4
0090 EF 1122 MOV A,R7
0091 120000 F 1123 LCALL ?C?CSTOPTR
1124 ; }
1125 ; SOURCE LINE # 230
0094 900000 F 1126 MOV DPTR,#i?751+01H
0097 E0 1127 MOVX A,@DPTR
0098 04 1128 INC A
0099 F0 1129 MOVX @DPTR,A
009A 7006 1130 JNZ ?C0050
009C 900000 F 1131 MOV DPTR,#i?751
009F E0 1132 MOVX A,@DPTR
00A0 04 1133 INC A
00A1 F0 1134 MOVX @DPTR,A
00A2 1135 ?C0050:
00A2 020000 F 1136 LJMP ?C0032
00A5 1137 ?C0033:
1138 ; return i;
1139 ; SOURCE LINE # 231
00A5 1140 ?C0054:
00A5 900000 F 1141 MOV DPTR,#i?751
00A8 E0 1142 MOVX A,@DPTR
00A9 FE 1143 MOV R6,A
00AA A3 1144 INC DPTR
00A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -