📄 mifare1.src
字号:
LCALL _longtobuf86
SJMP ?C0093
?C0092:
; else // msb first ep
; longtobuf51(epvalue, cmd);
; SOURCE LINE # 463
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV DPTR,#cmd?245
LCALL L?0262
?C0093:
;
; if(MI_OK != (i = M500WriteValue(m1block, cmd, m1bakblock)))
; SOURCE LINE # 465
MOV DPTR,#m1block?263
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPTR,#m1bakblock?249
MOVX A,@DPTR
MOV DPTR,#?_M500WriteValue?BYTE+04H
MOVX @DPTR,A
LCALL _M500WriteValue
MOV R6,#00H
MOV DPTR,#i?270
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
JZ ?C0094
; {
; SOURCE LINE # 466
; // error
; cmd[0] = FAIL;
; SOURCE LINE # 468
?C0229:
; cmd[1] = i;
; SOURCE LINE # 469
; return 2;
; SOURCE LINE # 470
LJMP ?C0248
; }
; SOURCE LINE # 471
?C0094:
;
; i = M500ReadValue(m1block, cmd+1, m1bakblock);
; SOURCE LINE # 473
MOV DPTR,#m1block?263
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
ADD A,#01H
MOV R1,A
CLR A
ADDC A,R2
MOV R2,A
MOV DPTR,#m1bakblock?249
MOVX A,@DPTR
MOV DPTR,#?_M500ReadValue?BYTE+04H
MOVX @DPTR,A
LCALL _M500ReadValue
MOV R6,#00H
MOV DPTR,#i?270
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; if(i != MI_OK)
; SOURCE LINE # 474
JZ ?C0095
; {
; SOURCE LINE # 475
; cmd[0] = FAIL;
; SOURCE LINE # 476
?C0230:
; cmd[1] = i;
; SOURCE LINE # 477
; return 2;
; SOURCE LINE # 478
LJMP ?C0248
; }
; SOURCE LINE # 479
?C0095:
; else
; {
; SOURCE LINE # 481
; if(m1eptype) // msb first ep
; SOURCE LINE # 482
MOV DPTR,#m1eptype?250
MOVX A,@DPTR
JNZ $ + 5H
LJMP ?C0240
; {
; SOURCE LINE # 483
; epvalue = buftolong51(cmd+1);
; SOURCE LINE # 484
LCALL L?0258
; longtobuf86(epvalue, cmd+1);
; SOURCE LINE # 485
LCALL L?0256
; }
; SOURCE LINE # 486
?C0097:
; // success
; cmd[0] = SUCCESS;
; SOURCE LINE # 488
; return 5;
; SOURCE LINE # 489
LJMP ?C0240
; }
; SOURCE LINE # 490
; }
; SOURCE LINE # 491
?C0087:
; else if(cmd[1] == CMD_DECEP)
; SOURCE LINE # 492
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPTR,#01H
LCALL ?C?CLDOPTR
XRL A,#04H
JZ $ + 5H
LJMP ?C0099
; {
; SOURCE LINE # 493
; uchar m1bakblock, m1eptype;
;
; m1bakblock = m1data[0];
; SOURCE LINE # 496
MOV DPTR,#m1data?269
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
LCALL ?C?CLDPTR
MOV R7,A
MOV DPTR,#m1bakblock?251
MOVX @DPTR,A
MOV R4,A
; m1eptype = m1data[1];
; SOURCE LINE # 497
MOV DPTR,#01H
LCALL ?C?CLDOPTR
MOV DPTR,#m1eptype?252
MOVX @DPTR,A
; m1data += 2;
; SOURCE LINE # 498
MOV DPTR,#m1data?269+01H
CLR A
MOV B,#02H
LCALL ?C?IILDX
; m1block = (m1sector << 2) + m1block;
; SOURCE LINE # 499
MOV DPTR,#m1sector?262
MOVX A,@DPTR
ADD A,ACC
ADD A,ACC
MOV R6,A
INC DPTR
MOVX A,@DPTR
ADD A,R6
MOVX @DPTR,A
; m1bakblock = (m1sector << 2) + m1bakblock;
; SOURCE LINE # 500
MOV A,R6
ADD A,R4
MOV DPTR,#m1bakblock?251
MOVX @DPTR,A
;
; if(len != 10)
; SOURCE LINE # 502
MOV DPTR,#len?246
MOVX A,@DPTR
JNZ ?C0194
INC DPTR
MOVX A,@DPTR
XRL A,#0AH
?C0194:
JZ ?C0100
; {
; SOURCE LINE # 503
; cmd[0] = ERRORCMDLEN;
; SOURCE LINE # 504
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
?C0228:
; return 1;
; SOURCE LINE # 505
LJMP ?C0250
; }
; SOURCE LINE # 506
?C0100:
;
; epvalue = buftolong86(m1data);
; SOURCE LINE # 508
LCALL L?0264
MOV DPTR,#epvalue?264
LCALL ?C?LSTXDATA
;
; i = M500ReadValue(m1block, cmd, m1bakblock);
; SOURCE LINE # 510
MOV DPTR,#m1block?263
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPTR,#m1bakblock?251
MOVX A,@DPTR
MOV DPTR,#?_M500ReadValue?BYTE+04H
MOVX @DPTR,A
LCALL _M500ReadValue
MOV R6,#00H
MOV DPTR,#i?270
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; if(i != MI_OK)
; SOURCE LINE # 511
JZ ?C0101
; {
; SOURCE LINE # 512
; cmd[0] = FAIL;
; SOURCE LINE # 513
?C0231:
; cmd[1] = i;
; SOURCE LINE # 514
; return 2;
; SOURCE LINE # 515
LJMP ?C0248
; }
; SOURCE LINE # 516
?C0101:
;
; if(!m1eptype) // lsb first ep
; SOURCE LINE # 518
MOV DPTR,#m1eptype?252
MOVX A,@DPTR
MOV DPTR,#cmd?245
JNZ ?C0102
; oldepvalue = buftolong86(cmd);
; SOURCE LINE # 519
LCALL L?0266
SJMP ?C0205
?C0102:
; else // msb first ep
; oldepvalue = buftolong51(cmd);
; SOURCE LINE # 521
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
LCALL _buftolong51
?C0205:
MOV DPTR,#oldepvalue?265
LCALL ?C?LSTXDATA
?C0103:
;
; epvalue = oldepvalue - epvalue;
; SOURCE LINE # 523
MOV DPTR,#epvalue?264
MOVX A,@DPTR
MOV R0,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
CLR C
SUBB A,R3
MOV R7,A
MOV A,R6
SUBB A,R2
MOV R6,A
MOV A,R5
SUBB A,R1
MOV R5,A
MOV A,R4
SUBB A,R0
MOV R4,A
MOV DPTR,#epvalue?264
LCALL ?C?LSTXDATA
;
; if(!m1eptype) // lsb first ep
; SOURCE LINE # 525
MOV DPTR,#m1eptype?252
MOVX A,@DPTR
MOV DPTR,#epvalue?264
JNZ ?C0104
; longtobuf86(epvalue, cmd);
; SOURCE LINE # 526
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
LCALL _longtobuf86
SJMP ?C0105
?C0104:
; else // msb first ep
; longtobuf51(epvalue, cmd);
; SOURCE LINE # 528
MOVX A,@DPTR
MOV R4,A
INC DPTR
MOVX A,@DPTR
MOV R5,A
INC DPTR
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#cmd?245
LCALL L?0263
?C0105:
;
; if(MI_OK != (i = M500WriteValue(m1block, cmd, m1bakblock)))
; SOURCE LINE # 530
MOV DPTR,#m1block?263
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPTR,#m1bakblock?251
MOVX A,@DPTR
MOV DPTR,#?_M500WriteValue?BYTE+04H
MOVX @DPTR,A
LCALL _M500WriteValue
MOV R6,#00H
MOV DPTR,#i?270
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
JZ ?C0106
; {
; SOURCE LINE # 531
; cmd[0] = FAIL;
; SOURCE LINE # 532
?C0234:
; cmd[1] = i;
; SOURCE LINE # 533
; return 2;
; SOURCE LINE # 534
LJMP ?C0248
; }
; SOURCE LINE # 535
?C0106:
;
; i = M500ReadValue(m1block, cmd+1, m1bakblock);
; SOURCE LINE # 537
MOV DPTR,#m1block?263
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
ADD A,#01H
MOV R1,A
CLR A
ADDC A,R2
MOV R2,A
MOV DPTR,#m1bakblock?251
MOVX A,@DPTR
MOV DPTR,#?_M500ReadValue?BYTE+04H
MOVX @DPTR,A
LCALL _M500ReadValue
MOV R6,#00H
MOV DPTR,#i?270
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; if(i != MI_OK)
; SOURCE LINE # 538
JZ ?C0107
; {
; SOURCE LINE # 539
; cmd[0] = FAIL;
; SOURCE LINE # 540
?C0235:
; cmd[1] = i;
; SOURCE LINE # 541
; return 2;
; SOURCE LINE # 542
LJMP ?C0248
; }
; SOURCE LINE # 543
?C0107:
; else
; {
; SOURCE LINE # 545
; if(m1eptype) // msb first ep
; SOURCE LINE # 546
MOV DPTR,#m1eptype?252
MOVX A,@DPTR
JZ ?C0109
; {
; SOURCE LINE # 547
; epvalue = buftolong51(cmd+1);
; SOURCE LINE # 548
LCALL L?0258
; longtobuf86(epvalue, cmd+1);
; SOURCE LINE # 549
LCALL L?0256
; }
; SOURCE LINE # 550
?C0109:
; // success
; cmd[0] = SUCCESS;
; SOURCE LINE # 552
?C0232:
; return 5;
; SOURCE LINE # 553
LJMP ?C0240
; }
; SOURCE LINE # 554
; }
; SOURCE LINE # 555
?C0099:
; else if(cmd[1] == CMD_RDEP)
; SOURCE LINE # 556
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
MOV DPTR,#01H
LCALL ?C?CLDOPTR
XRL A,#06H
JZ $ + 5H
LJMP ?C0111
; {
; SOURCE LINE # 557
; uchar m1bakblock, m1eptype;
;
; m1bakblock = m1data[0];
; SOURCE LINE # 560
MOV DPTR,#m1data?269
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
LCALL ?C?CLDPTR
MOV DPTR,#m1bakblock?253
MOVX @DPTR,A
MOV R4,A
; m1eptype = m1data[1];
; SOURCE LINE # 561
MOV DPTR,#01H
LCALL ?C?CLDOPTR
MOV DPTR,#m1eptype?254
MOVX @DPTR,A
; m1data += 2;
; SOURCE LINE # 562
MOV DPTR,#m1data?269+01H
CLR A
MOV B,#02H
LCALL ?C?IILDX
; m1block = (m1sector << 2) + m1block;
; SOURCE LINE # 563
MOV DPTR,#m1sector?262
MOVX A,@DPTR
ADD A,ACC
ADD A,ACC
MOV R6,A
INC DPTR
MOVX A,@DPTR
ADD A,R6
MOVX @DPTR,A
; m1bakblock = (m1sector << 2) + m1bakblock;
; SOURCE LINE # 564
MOV A,R6
ADD A,R4
MOV DPTR,#m1bakblock?253
MOVX @DPTR,A
;
; if(len != 6)
; SOURCE LINE # 566
MOV DPTR,#len?246
MOVX A,@DPTR
JNZ ?C0195
INC DPTR
MOVX A,@DPTR
XRL A,#06H
?C0195:
JZ ?C0112
; {
; SOURCE LINE # 567
; cmd[0] = ERRORCMDLEN;
; SOURCE LINE # 568
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
MOV R1,A
?C0233:
; return 1;
; SOURCE LINE # 569
LJMP ?C0250
; }
; SOURCE LINE # 570
?C0112:
;
; i = M500ReadValue(m1block, cmd+1, m1bakblock);
; SOURCE LINE # 572
MOV DPTR,#m1block?263
MOVX A,@DPTR
MOV R7,A
MOV DPTR,#cmd?245
MOVX A,@DPTR
MOV R3,A
INC DPTR
MOVX A,@DPTR
MOV R2,A
INC DPTR
MOVX A,@DPTR
ADD A,#01H
MOV R1,A
CLR A
ADDC A,R2
MOV R2,A
MOV DPTR,#m1bakblock?253
MOVX A,@DPTR
MOV DPTR,#?_M500ReadValue?BYTE+04H
MOVX @DPTR,A
LCALL _M500ReadValue
MOV R6,#00H
MOV DPTR,#i?270
MOV A,R6
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
; if(i != MI_OK)
; SOURCE LINE # 573
JZ ?C0113
; {
; SOURCE LINE # 574
; cmd[0] = FAIL;
; SOURCE LINE # 575
?C0236:
; cmd[1] = i;
; SOURCE LINE # 576
; return 2;
; SOURCE LINE # 577
LJMP ?C0248
; }
; SOURCE LINE # 578
?C0113:
; else
; {
; SOURCE LINE # 580
; if(m1eptype) // msb first ep
; SOURCE LINE # 581
MOV DPTR,#m1eptype?254
MOVX A,@DPTR
JZ ?C0115
; {
; SOUR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -