📄 at88153.ls1
字号:
0020 FF 917 MOV R7,A
0021 C3 918 CLR C
0022 9408 919 SUBB A,#08H
0024 5026 920 JNC ?C0035
921 ; {
922 ; SOURCE LINE # 131
923 ; if(!IccSyncPutCharWaitACK(buf[i]))
924 ; SOURCE LINE # 132
0026 900000 F 925 MOV DPTR,#buf?559
0029 E0 926 MOVX A,@DPTR
002A FB 927 MOV R3,A
002B A3 928 INC DPTR
002C E0 929 MOVX A,@DPTR
002D FA 930 MOV R2,A
002E A3 931 INC DPTR
002F E0 932 MOVX A,@DPTR
0030 F9 933 MOV R1,A
0031 8F82 934 MOV DPL,R7
0033 758300 935 MOV DPH,#00H
0036 120000 F 936 LCALL ?C?CLDOPTR
0039 FF 937 MOV R7,A
003A 120000 F 938 LCALL _IccSyncPutCharWaitACK
003D 4005 939 JC ?C0036
940 ; return -2;
941 ; SOURCE LINE # 133
003F 7EFF 942 MOV R6,#0FFH
0041 7FFE 943 MOV R7,#0FEH
0043 22 944 RET
945 ; }
946 ; SOURCE LINE # 134
0044 947 ?C0036:
0044 900000 F 948 MOV DPTR,#i?560
0047 E0 949 MOVX A,@DPTR
0048 04 950 INC A
0049 F0 951 MOVX @DPTR,A
004A 80D0 952 SJMP ?C0034
004C 953 ?C0035:
954 ; IccSyncStop();
955 ; SOURCE LINE # 135
004C 120000 F 956 LCALL IccSyncStop
957 ;
958 ; return 0;
959 ; SOURCE LINE # 137
004F E4 960 CLR A
0050 FE 961 MOV R6,A
0051 FF 962 MOV R7,A
963 ; }
964 ; SOURCE LINE # 138
0052 965 ?C0033:
0052 22 966 RET
967 ; END OF _At153InitAuth
968
969 ;
970 ; int At153VerifyAuth(unsigned char *buf)
971
---- 972 RSEG ?PR?_At153VerifyAuth?AT88153
0000 973 _At153VerifyAuth:
974 USING 0
975 ; SOURCE LINE # 140
0000 900000 F 976 MOV DPTR,#buf?661
0003 EB 977 MOV A,R3
0004 F0 978 MOVX @DPTR,A
0005 A3 979 INC DPTR
A51 MACRO ASSEMBLER AT88153 03/13/2009 15:44:58 PAGE 16
0006 EA 980 MOV A,R2
0007 F0 981 MOVX @DPTR,A
0008 A3 982 INC DPTR
0009 E9 983 MOV A,R1
000A F0 984 MOVX @DPTR,A
985 ; {
986 ; SOURCE LINE # 141
987 ; unsigned char i, aac;
988 ;
989 ; if(!At153Command(0xb6))
990 ; SOURCE LINE # 144
000B 7FB6 991 MOV R7,#0B6H
000D 120000 F 992 LCALL _At153Command
0010 4005 993 JC ?C0038
994 ; return -1;
995 ; SOURCE LINE # 145
0012 7EFF 996 MOV R6,#0FFH
0014 7FFF 997 MOV R7,#0FFH
0016 22 998 RET
0017 999 ?C0038:
1000 ;
1001 ; for(i=0; i<8; i++)
1002 ; SOURCE LINE # 147
0017 E4 1003 CLR A
0018 900000 F 1004 MOV DPTR,#i?662
001B F0 1005 MOVX @DPTR,A
001C 1006 ?C0040:
001C 900000 F 1007 MOV DPTR,#i?662
001F E0 1008 MOVX A,@DPTR
0020 FF 1009 MOV R7,A
0021 C3 1010 CLR C
0022 9408 1011 SUBB A,#08H
0024 5026 1012 JNC ?C0041
1013 ; {
1014 ; SOURCE LINE # 148
1015 ; if(!IccSyncPutCharWaitACK(buf[i]))
1016 ; SOURCE LINE # 149
0026 900000 F 1017 MOV DPTR,#buf?661
0029 E0 1018 MOVX A,@DPTR
002A FB 1019 MOV R3,A
002B A3 1020 INC DPTR
002C E0 1021 MOVX A,@DPTR
002D FA 1022 MOV R2,A
002E A3 1023 INC DPTR
002F E0 1024 MOVX A,@DPTR
0030 F9 1025 MOV R1,A
0031 8F82 1026 MOV DPL,R7
0033 758300 1027 MOV DPH,#00H
0036 120000 F 1028 LCALL ?C?CLDOPTR
0039 FF 1029 MOV R7,A
003A 120000 F 1030 LCALL _IccSyncPutCharWaitACK
003D 4005 1031 JC ?C0042
1032 ; return -2;
1033 ; SOURCE LINE # 150
003F 7EFF 1034 MOV R6,#0FFH
0041 7FFE 1035 MOV R7,#0FEH
0043 22 1036 RET
1037 ; }
1038 ; SOURCE LINE # 151
0044 1039 ?C0042:
0044 900000 F 1040 MOV DPTR,#i?662
0047 E0 1041 MOVX A,@DPTR
0048 04 1042 INC A
0049 F0 1043 MOVX @DPTR,A
004A 80D0 1044 SJMP ?C0040
004C 1045 ?C0041:
A51 MACRO ASSEMBLER AT88153 03/13/2009 15:44:58 PAGE 17
1046 ; IccSyncStop();
1047 ; SOURCE LINE # 152
004C 120000 F 1048 LCALL IccSyncStop
1049 ;
1050 ; // read AAC
1051 ; if(At153ReadEE(3, 0x20, &aac, 1) < 0)
1052 ; SOURCE LINE # 155
004F 7B01 1053 MOV R3,#01H
0051 7A00 F 1054 MOV R2,#HIGH (aac?663)
0053 7900 F 1055 MOV R1,#LOW (aac?663)
0055 900000 F 1056 MOV DPTR,#?_At153ReadEE?BYTE+05H
0058 7401 1057 MOV A,#01H
005A F0 1058 MOVX @DPTR,A
005B 7D20 1059 MOV R5,#020H
005D 7F03 1060 MOV R7,#03H
005F 120000 F 1061 LCALL _At153ReadEE
0062 C3 1062 CLR C
0063 EE 1063 MOV A,R6
0064 6480 1064 XRL A,#080H
0066 9480 1065 SUBB A,#080H
0068 5005 1066 JNC ?C0044
1067 ; return -3;
1068 ; SOURCE LINE # 156
006A 7EFF 1069 MOV R6,#0FFH
006C 7FFD 1070 MOV R7,#0FDH
006E 22 1071 RET
006F 1072 ?C0044:
1073 ;
1074 ; return aac;
1075 ; SOURCE LINE # 158
006F 900000 F 1076 MOV DPTR,#aac?663
0072 E0 1077 MOVX A,@DPTR
0073 FF 1078 MOV R7,A
0074 7E00 1079 MOV R6,#00H
1080 ; }
1081 ; SOURCE LINE # 159
0076 1082 ?C0039:
0076 22 1083 RET
1084 ; END OF _At153VerifyAuth
1085
1086 ;
1087 ; // polling ACK with command "cmd" and send "cmd"
1088 ; static bit At153Command(unsigned char cmd)
1089
---- 1090 RSEG ?PR?_At153Command?AT88153
0000 1091 _At153Command:
1092 USING 0
1093 ; SOURCE LINE # 162
0000 900000 F 1094 MOV DPTR,#cmd?764
0003 EF 1095 MOV A,R7
0004 F0 1096 MOVX @DPTR,A
1097 ; {
1098 ; SOURCE LINE # 163
1099 ; unsigned int starttime;
1100 ;
1101 ; starttime = GetTickCount();
1102 ; SOURCE LINE # 166
0005 120000 F 1103 LCALL GetTickCount
0008 900000 F 1104 MOV DPTR,#starttime?765
000B EE 1105 MOV A,R6
000C F0 1106 MOVX @DPTR,A
000D A3 1107 INC DPTR
000E EF 1108 MOV A,R7
000F F0 1109 MOVX @DPTR,A
0010 1110 ?C0045:
1111 ; while(1)
A51 MACRO ASSEMBLER AT88153 03/13/2009 15:44:58 PAGE 18
1112 ; SOURCE LINE # 167
1113 ; {
1114 ; SOURCE LINE # 168
1115 ; IccSyncStart();
1116 ; SOURCE LINE # 169
0010 120000 F 1117 LCALL IccSyncStart
1118 ; if(!IccSyncPutCharWaitACK(cmd))
1119 ; SOURCE LINE # 170
0013 900000 F 1120 MOV DPTR,#cmd?764
0016 E0 1121 MOVX A,@DPTR
0017 FF 1122 MOV R7,A
0018 120000 F 1123 LCALL _IccSyncPutCharWaitACK
001B 401F 1124 JC ?C0047
1125 ; {
1126 ; SOURCE LINE # 171
1127 ; IccSyncStop();
1128 ; SOURCE LINE # 172
001D 120000 F 1129 LCALL IccSyncStop
1130 ; if(GetTickCount() - starttime >= POLL_ACK_TMO)
1131 ; SOURCE LINE # 173
0020 120000 F 1132 LCALL GetTickCount
0023 900000 F 1133 MOV DPTR,#starttime?765
0026 E0 1134 MOVX A,@DPTR
0027 FC 1135 MOV R4,A
0028 A3 1136 INC DPTR
0029 E0 1137 MOVX A,@DPTR
002A FD 1138 MOV R5,A
002B C3 1139 CLR C
002C EF 1140 MOV A,R7
002D 9D 1141 SUBB A,R5
002E FF 1142 MOV R7,A
002F EE 1143 MOV A,R6
0030 9C 1144 SUBB A,R4
0031 FE 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -