📄 card.lst
字号:
312 2 }
313 1
314 1 return Status;
315 1 }
316
317
318
319 uchar CheckMad(uchar *sec_no)
320 {
321 1 uchar i,buf[2];
322 1 W_DOG();
323 1 if(GPB==0x69)
C51 COMPILER V4.01, CARD 19/08/04 14:33:21 PAGE 6
324 1 { /* non-personalized card */
325 2 SendResponse(0x84,1,buf);
326 2 return MI_GPB_ERROR;
327 2 }
328 1
329 1 if((GPB&&0x01)==0x00)
330 1 { /* not MAD */
331 2 SendResponse(0x83,1,buf);
332 2 return MI_NO_MAD;
333 2 }
334 1
335 1 for(i=2;i<32;i=i+2)
336 1 {
337 2 if(memcmp(ComBuffer+3,MADMessage+i,2)==0)
338 2 break;
339 2 }
340 1
341 1 if(i<32)
342 1 {
343 2 *sec_no=i>>1;
344 2 return MI_OK;
345 2 }
346 1
347 1 SendResponse(0x85,1,buf);
348 1 return MI_MAD_ERROR;
349 1 }
350
351 //"检测同一文件名的多个扇区
352 uchar CheckMad2(uchar *s_array)
353 {
354 1 uchar i,buf[2];
355 1 uchar j;
356 1 W_DOG();
357 1 if(GPB==0x69)
358 1 { // non-personalized card
359 2 SendResponse(0x84,1,buf);
360 2 return MI_GPB_ERROR;
361 2 }
362 1
363 1 if((GPB&&0x01)==0x00)
364 1 { // not MAD
365 2 SendResponse(0x83,1,buf);
366 2 return MI_NO_MAD;
367 2 }
368 1
369 1 j=0;
370 1 for(i=2;i<32;i=i+2)
371 1 {
372 2 if(memcmp(ComBuffer+3,MADMessage+i,2)==0)
373 2 {
374 3 j++;
375 3 s_array[j]=(i>>1);
376 3 }
377 2 }
378 1
379 1 if(j>0)
380 1 {
381 2
382 2 s_array[0]=j;
383 2 return MI_OK;
384 2 }
385 1
386 1 SendResponse(0x85,1,buf);
387 1 return MI_MAD_ERROR;
388 1 }
389
C51 COMPILER V4.01, CARD 19/08/04 14:33:21 PAGE 7
390 //"使用于对认证码区的定位
391 uchar CheckMad3(uchar *sec_no)
392 {
393 1 uchar i;
394 1 W_DOG();
395 1 if(GPB==0x69)
396 1 { // non-personalized card
397 2 SendResponse(0x84,6,snr);
398 2 return MI_GPB_ERROR;
399 2 }
400 1
401 1 if((GPB&&0x01)==0x00)
402 1 { // not MAD
403 2 SendResponse(0x83,6,snr);
404 2 return MI_NO_MAD;
405 2 }
406 1
407 1 for(i=2;i<32;i=i+2)
408 1 {
409 2 if(memcmp(ComBuffer+3,MADMessage+i,2)==0)
410 2 break;
411 2 }
412 1
413 1 if(i<32)
414 1 {
415 2 *sec_no=i>>1;
416 2 return MI_OK;
417 2 }
418 1
419 1 SendResponse(0x85,6,snr);
420 1 return MI_MAD_ERROR;
421 1 }
422
C51 COMPILER V4.01, CARD 19/08/04 14:33:21 PAGE 8
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
ComBuffer. . . . . . . . . . . . . . . EXTERN XDATA ARRAY ----- 220
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
IRQPD. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
_MF1_authkey . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
key_type . . . . . . . . . . . . . . AUTO DATA CHAR 0000H 1
key. . . . . . . . . . . . . . . . . AUTO DATA PTR 0001H 3
block_n. . . . . . . . . . . . . . . AUTO DATA CHAR 0004H 1
Status . . . . . . . . . . . . . . . STATIC IDATA U_CHAR 0000H 1
buf4 . . . . . . . . . . . . . . . . STATIC IDATA ARRAY 0001H 12
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
T2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
_CheckMad2 . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
s_array. . . . . . . . . . . . . . . AUTO DATA PTR 0000H 3
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
buf. . . . . . . . . . . . . . . . . AUTO DATA ARRAY 0004H 2
j. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0006H 1
_CheckMad3 . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
sec_no . . . . . . . . . . . . . . . AUTO DATA PTR 0000H 3
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
RSTPD. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
_Mf500PiccSelect . . . . . . . . . . . EXTERN CODE PROC ----- -----
P1_0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
W_DOG. . . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
P1_1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
P1_2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0092H 1
P3_0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
P1_3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
P3_1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
P1_4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0094H 1
P3_2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
EXF2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CEH 1
P1_5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0095H 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
P3_3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
P1_6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
P3_4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
P1_7 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
P3_5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
P3_6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
_Mf500PiccRequest. . . . . . . . . . . EXTERN CODE PROC ----- -----
P3_7 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
SI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0095H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
MADMessage . . . . . . . . . . . . . . EXTERN XDATA ARRAY ----- 32
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
SO . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
_MF1_read. . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
keytype_set. . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
block_n. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
databuf. . . . . . . . . . . . . . . AUTO DATA PTR 0002H 3
C51 COMPILER V4.01, CARD 19/08/04 14:33:21 PAGE 9
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
Status . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0005H 1
sector_n . . . . . . . . . . . . . . AUTO DATA U_CHAR 0006H 1
i2 . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0007H 1
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
T2EX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
C_T2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C9H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
_Mf500PiccRead . . . . . . . . . . . . EXTERN CODE PROC ----- -----
RST1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A1H 1
RCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CDH 1
TCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CCH 1
_MF1_write . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
keytype_set. . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
block_n. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
databuf. . . . . . . . . . . . . . . AUTO DATA PTR 0002H 3
Status . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0005H 1
sector_n . . . . . . . . . . . . . . AUTO DATA U_CHAR 0006H 1
i3 . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0007H 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
Open_next. . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
Status . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
buf. . . . . . . . . . . . . . . . . AUTO DATA ARRAY 0001H 4
i5 . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0005H 1
_MF1_auth. . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
keytype_set. . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
sector_no. . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
block_no . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
Status . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
_Mf500PiccWrite. . . . . . . . . . . . EXTERN CODE PROC ----- -----
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
_Mf500PiccAuth . . . . . . . . . . . . EXTERN CODE PROC ----- -----
_SendResponse. . . . . . . . . . . . . EXTERN CODE PROC ----- -----
CP_RL2 . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C8H 1
Block_Index. . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
IO1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A0H 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
ET2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ADH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
TF2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CFH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
_MF1_read_key. . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
keytype_set. . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
block_n. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
databuf. . . . . . . . . . . . . . . AUTO DATA PTR 0002H 3
key. . . . . . . . . . . . . . . . . AUTO DATA PTR 0005H 3
Status . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0008H 1
sector_n . . . . . . . . . . . . . . AUTO DATA U_CHAR 0009H 1
i2 . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 000AH 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
C51 COMPILER V4.01, CARD 19/08/04 14:33:21 PAGE 10
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
_CheckMad. . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
sec_no . . . . . . . . . . . . . . . AUTO DATA PTR 0000H 3
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
buf. . . . . . . . . . . . . . . . . AUTO DATA ARRAY 0004H 2
snr. . . . . . . . . . . . . . . . . . EXTERN IDATA ARRAY ----- 5
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
PT2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BDH 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
Mf500PiccHalt. . . . . . . . . . . . . EXTERN CODE PROC ----- -----
BEP. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
MfCmdInfo. . . . . . . . . . . . . . . TYPEDEF ----- STRUCT ----- 9
cmd. . . . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0000H 1
status . . . . . . . . . . . . . . . MEMBER ----- CHAR 0001H 1
nBytesSent . . . . . . . . . . . . . MEMBER ----- U_CHAR 0002H 1
nBytesToSend . . . . . . . . . . . . MEMBER ----- U_CHAR 0003H 1
nBytesReceived . . . . . . . . . . . MEMBER ----- U_CHAR 0004H 1
nBitsReceived. . . . . . . . . . . . MEMBER ----- U_INT 0005H 2
irqSource. . . . . . . . . . . . . . MEMBER ----- U_CHAR 0007H 1
collPos. . . . . . . . . . . . . . . MEMBER ----- U_CHAR 0008H 1
TR2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CAH 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
GPB. . . . . . . . . . . . . . . . . . EXTERN IDATA U_CHAR ----- 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
_MF1_write_key . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
keytype_set. . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
block_n. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
databuf. . . . . . . . . . . . . . . AUTO DATA PTR 0002H 3
key. . . . . . . . . . . . . . . . . AUTO DATA PTR 0005H 3
Status . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0008H 1
sector_n . . . . . . . . . . . . . . AUTO DATA U_CHAR 0009H 1
i3 . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 000AH 1
CSI. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0094H 1
_picc_b_rats . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
SCK. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
EXEN2. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CBH 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
_Mf500PiccAnticoll . . . . . . . . . . EXTERN CODE PROC ----- -----
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
_Mf500PiccAuthKey. . . . . . . . . . . EXTERN CODE PROC ----- -----
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
_OpenCard. . . . . . . . . . . . . . . PUBLIC CODE PROC ----- -----
ins_type . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
Status . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
buf. . . . . . . . . . . . . . . . . AUTO DATA ARRAY 0002H 4
i0 . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0006H 1
ins_mark . . . . . . . . . . . . . . AUTO DATA U_CHAR 0007H 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
_Mf500HostCodeKey. . . . . . . . . . . EXTERN CODE PROC ----- -----
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1505 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
C51 COMPILER V4.01, CARD 19/08/04 14:33:21 PAGE 11
DATA SIZE = 1 78
IDATA SIZE = ---- 13
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -