⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mifare1.src

📁 mifarea卡程序mifarea卡程序mifarea卡程序
💻 SRC
📖 第 1 页 / 共 5 页
字号:
	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 + -