📄 protocol.lst
字号:
1010 .sym _ii,2,4,1,16
1011 .sym _m,3,4,1,16
1012 .sym _j,4,4,1,16
1013 .sym _slotCounter,5,4,1,16
1014 .sym _num_card,6,4,1,16
1015 .sym _flags,7,12,1,16
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:26 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
protocol.asm PAGE 21
1016 .line 4
1017 ;>>>> uchar flags =0;
1018 01f9 b900 LACK 0
1019 01fa b207 LARK AR2,7
1020 01fb 8be0 MAR *0+
1021 01fc 9080 SACL *
1022 .line 6
1023 ;>>>> labeldata[0]=0;
1024 01fd bc00! LDPK _labeldata
1025 01fe 9000! SACL _labeldata
1026 .line 7
1027 ;>>>> invUid[0] = 0;
1028 ;>>>> /////////////////////////////1///////////////////////////////
1029 01ff bc00- LDPK _invUid
1030 0200 9061- SACL _invUid
1031 .line 9
1032 ;>>>> for(slotCounter=0;slotCounter<16;slotCounter++)
1033 0201 7c02 SBRK 2
1034 0202 9080 SACL *
1035 0203 be47 SSXM
1036 0204 1080 LAC *
1037 0205 ba10 SUBK 16
1038 0206 e38c BGEZ L19
0207 02b4'
1039 0208 7802 ADRK 2
1040 0209 L18:
1041 .line 11
1042 ;>>>> flags = ISOFlagsSys | 0x0004; //inventory_flag
1043 0209 b904 LACK 4
1044 020a bc00! LDPK _ISOFlagsSys
1045 020b 6d00! OR _ISOFlagsSys
1046 020c 9080 SACL *
1047 .line 12
1048 ;>>>> viccdata[0] = 0x06; //len
1049 020d b906 LACK 6
1050 020e bc00! LDPK _viccdata
1051 020f 9000! SACL _viccdata
1052 .line 13
1053 ;>>>> viccdata[1] = flags; //flags
1054 0210 a989 BLDD * ,#_viccdata+1,AR1
0211 0001!
1055 .line 14
1056 ;>>>> viccdata[2] = 0x01; //cmd
1057 0212 b901 LACK 1
1058 0213 bc00! LDPK _viccdata+2
1059 0214 9002! SACL _viccdata+2
1060 .line 15
1061 ;>>>> viccdata[3] = 0; //mask length
1062 0215 b900 LACK 0
1063 0216 bc00! LDPK _viccdata+3
1064 0217 9003! SACL _viccdata+3
1065 .line 16
1066 ;>>>> wr_crc_send(); //without optional afi
1067 0218 7a80 CALL _wr_crc_send
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:26 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
protocol.asm PAGE 22
0219 0147'
1068 .line 18
1069 ;>>>> ISOMode = ISOModeSys&0xe7; //read all,read,wr_op
1070 021a b9e7 LACK 231
1071 021b bc00! LDPK _ISOModeSys
1072 021c 6e00! AND _ISOModeSys
1073 021d bc00! LDPK _ISOMode
1074 021e 9000! SACL _ISOMode
1075 .line 19
1076 ;>>>> if(slotCounter!=0)ISOMode |= 0x80; //next slot
1077 021f 8b8a MAR * ,AR2
1078 0220 b205 LARK AR2,5
1079 0221 8be0 MAR *0+
1080 0222 1080 LAC *
1081 0223 e388 BZ L20
0224 0228'
1082 0225 b980 LACK 128
1083 0226 6d00! OR _ISOMode
1084 0227 9000! SACL _ISOMode
1085 0228 L20:
1086 .line 20
1087 ;>>>> m = sendISOCmd();
1088 0228 7a89 CALL _sendISOCmd,AR1
0229 0000!
1089 022a 8b8a MAR * ,AR2
1090 022b b203 LARK AR2,3
1091 022c 8be0 MAR *0+
1092 022d 9080 SACL *
1093 .line 21
1094 ;>>>> CS_RAM_1;
1095 022e bf80 LACK 63487
022f f7ff
1096 0230 bc00! LDPK _MCRC
1097 0231 6e00! AND _MCRC
1098 0232 9000! SACL _MCRC
1099 0233 bf80 LACK 2056
0234 0808
1100 0235 bc00! LDPK _PFDATDIR
1101 0236 6d00! OR _PFDATDIR
1102 0237 9000! SACL _PFDATDIR
1103 .line 23
1104 ;>>>> if(viccdata[0] == 1)globalErrFlag = 0xff; // iso error
1105 0238 bc00! LDPK _viccdata
1106 0239 1000! LAC _viccdata
1107 023a ba01 SUBK 1
1108 023b e308 BNZ L21
023c 0240'
1109 023d b9ff LACK 255
1110 023e bc00- LDPK _globalErrFlag
1111 023f 9000- SACL _globalErrFlag
1112 0240 L21:
1113 .line 25
1114 ;>>>> if(m==2) {collFlag0[slotCounter]=0xaa;} //collision flag
1115 0240 1080 LAC *
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:26 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
protocol.asm PAGE 23
1116 0241 ba02 SUBK 2
1117 0242 e308 BNZ L22
0243 024e'
1118 0244 7802 ADRK 2
1119 0245 1088 LAC * ,AR0
1120 0246 bf90 ADLK _collFlag0+0,0
0247 0001-
1121 0248 9080 SACL *
1122 0249 038b LAR AR3,* ,AR3
1123 024a b9aa LACK 170
1124 024b 9080 SACL *
1125 024c 7980 B L23
024d 02a8'
1126 024e L22:
1127 .line 26
1128 ;>>>> else if(m==1)
1129 024e 1080 LAC *
1130 024f ba01 SUBK 1
1131 0250 e308 BNZ L23
0251 02a8'
1132 .line 28
1133 ;>>>> labeldata[0] += 1;
1134 0252 bc00! LDPK _labeldata
1135 0253 1000! LAC _labeldata
1136 0254 b801 ADDK 1
1137 0255 9000! SACL _labeldata
1138 .line 29
1139 ;>>>> invUid[0] += 1;
1140 0256 bc00- LDPK _invUid
1141 0257 1061- LAC _invUid
1142 0258 b801 ADDK 1
1143 0259 9061- SACL _invUid
1144 .line 30
1145 ;>>>> labeldata[ (labeldata[0]-1)*10 + 1 ] = 0x03; //tr-type
1146 025a bc00! LDPK _labeldata
1147 025b 1000! LAC _labeldata
1148 025c ba01 SUBK 1
1149 025d 8ba8 MAR *+,AR0
1150 025e 9080 SACL *
1151 025f 7380 LT *
1152 0260 c00a MPYK 10
1153 0261 be03 PAC
1154 0262 bf90 ADLK _labeldata+1,0
0263 0001!
1155 0264 9080 SACL *
1156 0265 038b LAR AR3,* ,AR3
1157 0266 b903 LACK 3
1158 0267 9088 SACL * ,AR0
1159 .line 31
1160 ;>>>> labeldata[ (labeldata[0]-1)*10 + 2 ] = viccdata[2];//dsfid
1161 0268 1000! LAC _labeldata
1162 0269 ba01 SUBK 1
1163 026a 9080 SACL *
1164 026b 7380 LT *
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:26 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
protocol.asm PAGE 24
1165 026c c00a MPYK 10
1166 026d be03 PAC
1167 026e bf90 ADLK _labeldata+2,0
026f 0002!
1168 0270 9080 SACL *
1169 0271 038b LAR AR3,* ,AR3
1170 0272 a88a BLKD #_viccdata+2,* ,AR2
0273 0002!
1171 .line 32
1172 ;>>>> for(j=0;j<8;j++)
1173 0274 b900 LACK 0
1174 0275 9080 SACL *
1175 0276 be47 SSXM
1176 0277 1080 LAC *
1177 0278 ba08 SUBK 8
1178 0279 e38c BGEZ L23
027a 02a8'
1179 027b 8b88 MAR * ,AR0
1180 027c L25:
1181 .line 34
1182 ;>>>> labeldata[ (labeldata[0]-1)*10+3+j ] = viccdata[10-j];//uid
1183 027c bc00! LDPK _labeldata
1184 027d 1000! LAC _labeldata
1185 027e ba01 SUBK 1
1186 027f 9080 SACL *
1187 0280 738a LT * ,AR2
1188 0281 c00a MPYK 10
1189 0282 be03 PAC
1190 0283 b803 ADDK 3
1191 0284 be46 RSXM
1192 0285 bf90 ADLK _labeldata+0,0
0286 0000!
1193 0287 2088 ADD * ,AR0
1194 0288 9080 SACL *
1195 0289 038a LAR AR3,* ,AR2
1196 028a bf80 LALK _viccdata+10
028b 000a!
1197 028c 3088 SUB * ,AR0
1198 028d 9080 SACL *
1199 028e 048c LAR AR4,* ,AR4
1200 028f 108b LAC * ,AR3
1201 0290 908a SACL * ,AR2
1202 .line 35
1203 ;>>>> invUid[ (invUid[0]-1)*8+1+j ] = viccdata[10-j];
1204 0291 bc00- LDPK _invUid
1205 0292 1361- LAC _invUid,3
1206 0293 ba07 SUBK 7
1207 0294 bf90 ADLK _invUid+0,0
0295 0061-
1208 0296 2088 ADD * ,AR0
1209 0297 9080 SACL *
1210 0298 038a LAR AR3,* ,AR2
1211 0299 bf80 LALK _viccdata+10
029a 000a!
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:26 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
protocol.asm PAGE 25
1212 029b 3088 SUB * ,AR0
1213 029c 9080 SACL *
1214 029d 048c LAR AR4,* ,AR4
1215 029e 108b LAC * ,AR3
1216 029f 908a SACL * ,AR2
1217 .line 32
1218 02a0 1080 LAC *
1219 02a1 b801 ADDK 1
1220 02a2 9080 SACL *
1221 02a3 be47 SSXM
1222 02a4 1088 LAC * ,AR0
1223 02a5 ba08 SUBK 8
1224 02a6 e344 BLZ L25
02a7 027c'
1225 02a8 L23:
1226 .line 9
1227 02a8 8b8a MAR * ,AR2
1228 02a9 b205 LARK AR2,5
1229 02aa 8be0 MAR *0+
1230 02ab 1080 LAC *
1231 02ac b801 ADDK 1
1232 02ad 9080 SACL *
1233 02ae be47 SSXM
1234 02af 1080 LAC *
1235 02b0 ba10 SUBK 16
1236 02b1 7802 ADRK 2
1237 02b2 e344 BLZ L18
02b3 0209'
1238 02b4 L19:
1239 .line 39
1240 ;>>>> invStayQuiet();
1241 ;>>>> /////////////////////////////2//////////////////////////////////////
1242 02b4 7a89 CALL _invStayQuiet,AR1
02b5 017d'
1243 .line 41
1244 ;>>>> for(i=0;i<16;i++)
1245 02b6 b900 LACK 0
1246 02b7 8b8a MAR * ,AR2
1247 02b8 b201 LARK AR2,1
1248 02b9 8be0 MAR *0+
1249 02ba 9080 SACL *
1250 02bb be47 SSXM
1251 02bc 1080 LAC *
1252 02bd ba10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -