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

📄 mifareprohost.src

📁 mifarea卡程序mifarea卡程序mifarea卡程序
💻 SRC
📖 第 1 页 / 共 5 页
字号:
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#len?1367
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCommand?BYTE+08H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,#01H
	MOVX 	@DPTR,A
	MOV  	DPTR,#FWI
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#?_MProCommand?BYTE+0CH
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?1366
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	R5,#09H
	MOV  	R4,#00H
	LCALL	_MProCommand
	MOV  	A,R7
	JZ   	?C0053
	MOV  	R7,#01H
	RET  	
?C0053:
;    if(CmdBuf[*len-4] == 0x90) return (MI_OK);
			; SOURCE LINE # 152
	MOV  	DPTR,#len?1367
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	?C?ILDPTR
	ADD  	A,#0FCH
	MOV  	R7,A
	MOV  	A,B
	ADDC 	A,#0FFH
	MOV  	R6,A
	MOV  	DPTR,#CmdBuf?1366
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	DPL,R7
	MOV  	DPH,R6
	LCALL	?C?CLDOPTR
	CJNE 	A,#090H,?C0055
	MOV  	R7,#00H
	RET  	
?C0055:
;    else return (!MI_OK);
			; SOURCE LINE # 153
	MOV  	R7,#01H
; 
; }
			; SOURCE LINE # 155
?C0054:
	RET  	
; END OF _MProCardSleRdMmem

; 
; char MProCardSleUpdMmem(unsigned char *CmdBuf,unsigned int *len)

	RSEG  ?PR?_MProCardSleUpdMmem?MIFAREPROHOST
_MProCardSleUpdMmem:
	USING	0
			; SOURCE LINE # 157
	MOV  	DPTR,#CmdBuf?1468
	MOV  	A,R3
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
; {
			; SOURCE LINE # 158
;    if((MProCommand(CmdBuf,9,CmdBuf,len,1,FWI))!= MI_OK) return (!MI_OK);
			; SOURCE LINE # 159
	MOV  	DPTR,#CmdBuf?1468
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCommand?BYTE+05H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#len?1469
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCommand?BYTE+08H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,#01H
	MOVX 	@DPTR,A
	MOV  	DPTR,#FWI
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#?_MProCommand?BYTE+0CH
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?1468
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	R5,#09H
	MOV  	R4,#00H
	LCALL	_MProCommand
	MOV  	A,R7
	JZ   	?C0057
	MOV  	R7,#01H
	RET  	
?C0057:
;    if(CmdBuf[*len-4] == 0x90) return (MI_OK);
			; SOURCE LINE # 160
	MOV  	DPTR,#len?1469
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	?C?ILDPTR
	ADD  	A,#0FCH
	MOV  	R7,A
	MOV  	A,B
	ADDC 	A,#0FFH
	MOV  	R6,A
	MOV  	DPTR,#CmdBuf?1468
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	DPL,R7
	MOV  	DPH,R6
	LCALL	?C?CLDOPTR
	CJNE 	A,#090H,?C0059
	MOV  	R7,#00H
	RET  	
?C0059:
;    else return (!MI_OK);
			; SOURCE LINE # 161
	MOV  	R7,#01H
; 
; }
			; SOURCE LINE # 163
?C0058:
	RET  	
; END OF _MProCardSleUpdMmem

; /**
; char MProCardSleRdPmem(unsigned *CmdBuf,unsigned int *len)
; {
;    if((MProCommand(CmdBuf,9,CmdBuf,len,1,FWI))!= MI_OK) return (!MI_OK);
;    if(cmdBuf[*len-4] == 0x90) return (MI_OK);
;    else return (!MI_OK);
; 
; }
; 
; 
; 
; char MProCardSleUpdPmem(unsigned *CmdBuf,unsigned int *len)
; {
;    if((MProCommand(CmdBuf,9,CmdBuf,len,1,FWI))!= MI_OK) return (!MI_OK);
;    if(cmdBuf[*len-4] == 0x90) return (MI_OK);
;    else return (!MI_OK);
; 
; }
; 
; 
; char MProCardSleRdPmem(unsigned *CmdBuf,unsigned int *len)
; {
;    if((MProCommand(CmdBuf,9,CmdBuf,len,1,FWI))!= MI_OK) return (!MI_OK);
;    if(cmdBuf[*len-4] == 0x90) return (MI_OK);
;    else return (!MI_OK);
; 
; }
; 
; char MProCardSleUpdPmem(unsigned *CmdBuf,unsigned int *len)
; {
;    if((MProCommand(CmdBuf,9,CmdBuf,len,1,FWI))!= MI_OK) return (!MI_OK);
;    if(cmdBuf[*len-4] == 0x90) return (MI_OK);
;    else return (!MI_OK);
; 
; }**/
; 
; 
; 
; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; 
; 
; 
; 
; char MProCardSLeVerify(unsigned char *CmdBuf,unsigned int *len)

	RSEG  ?PR?_MProCardSLeVerify?MIFAREPROHOST
_MProCardSLeVerify:
	USING	0
			; SOURCE LINE # 207
	MOV  	DPTR,#CmdBuf?1570
	MOV  	A,R3
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
; {
			; SOURCE LINE # 208
;    if((MProCommand(CmdBuf,9,CmdBuf,len,1,FWI))!= MI_OK) return (!MI_OK);
			; SOURCE LINE # 209
	MOV  	DPTR,#CmdBuf?1570
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCommand?BYTE+05H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#len?1571
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCommand?BYTE+08H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,#01H
	MOVX 	@DPTR,A
	MOV  	DPTR,#FWI
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#?_MProCommand?BYTE+0CH
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?1570
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	R5,#09H
	MOV  	R4,#00H
	LCALL	_MProCommand
	MOV  	A,R7
	JZ   	?C0061
	MOV  	R7,#01H
	RET  	
?C0061:
;    if(CmdBuf[*len-4] == 0x90) return (MI_OK);
			; SOURCE LINE # 210
	MOV  	DPTR,#len?1571
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	?C?ILDPTR
	ADD  	A,#0FCH
	MOV  	R7,A
	MOV  	A,B
	ADDC 	A,#0FFH
	MOV  	R6,A
	MOV  	DPTR,#CmdBuf?1570
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	DPL,R7
	MOV  	DPH,R6
	LCALL	?C?CLDOPTR
	CJNE 	A,#090H,?C0063
	MOV  	R7,#00H
	RET  	
?C0063:
;    else return (!MI_OK);
			; SOURCE LINE # 211
	MOV  	R7,#01H
; 
; }
			; SOURCE LINE # 213
?C0062:
	RET  	
; END OF _MProCardSLeVerify

; 
; 
; 
; 
; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; 
; 
; 
; 
; char EvalOS_GetRomInfo(unsigned char *CmdBuf, unsigned int *len)

	RSEG  ?PR?_EvalOS_GetRomInfo?MIFAREPROHOST
_EvalOS_GetRomInfo:
	USING	0
			; SOURCE LINE # 223
	MOV  	DPTR,#CmdBuf?1672
	MOV  	A,R3
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
; {
			; SOURCE LINE # 224
; 	
; 
; /*	CmdBuf[0]=0x0A|GBLK;// I-block PCB with CID
; 	GBLK ^= 1;		// Toggle block number
; 	CmdBuf[1]=CID;  	// CID
; 	CmdBuf[2]=0xb8;	// INF:CLA
; 	CmdBuf[3]=0x00;	// INF:INS
; 	CmdBuf[4]=0x03;	// INF:P1
; 	CmdBuf[5]=0x00;	// INF:P2
; 	CmdBuf[6]=0x00;	// INF:Le		 */
; 	
;         if((MProCommand(CmdBuf,9,CmdBuf,len,1,FWI))!=MI_OK) return(!MI_OK);
			; SOURCE LINE # 236
	MOV  	DPTR,#CmdBuf?1672
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCommand?BYTE+05H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#len?1673
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCommand?BYTE+08H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,#01H
	MOVX 	@DPTR,A
	MOV  	DPTR,#FWI
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#?_MProCommand?BYTE+0CH
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?1672
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	R5,#09H
	MOV  	R4,#00H
	LCALL	_MProCommand
	MOV  	A,R7
	JZ   	?C0065
	MOV  	R7,#01H
	RET  	
?C0065:
; 	if(CmdBuf[*len-4]==0x90) return(MI_OK);
			; SOURCE LINE # 237
	MOV  	DPTR,#len?1673
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	?C?ILDPTR
	ADD  	A,#0FCH
	MOV  	R7,A
	MOV  	A,B
	ADDC 	A,#0FFH
	MOV  	R6,A
	MOV  	DPTR,#CmdBuf?1672
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	DPL,R7
	MOV  	DPH,R6
	LCALL	?C?CLDOPTR
	CJNE 	A,#090H,?C0067
	MOV  	R7,#00H
	RET  	
?C0067:
; 	else return(!MI_OK);	  
			; SOURCE LINE # 238
	MOV  	R7,#01H
; }
			; SOURCE LINE # 239
?C0066:
	RET  	
; END OF _EvalOS_GetRomInfo

; 
; char EvalOS_GetUID(unsigned char *CmdBuf, unsigned int *len)

	RSEG  ?PR?_EvalOS_GetUID?MIFAREPROHOST
_EvalOS_GetUID:
	USING	0
			; SOURCE LINE # 241
	MOV  	DPTR,#CmdBuf?1774
	MOV  	A,R3
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
; {
			; SOURCE LINE # 242
; 
; 
; /*	CmdBuf[0]=0x0A|GBLK;// I-block PCB with CID
; 	GGBLK ^= 1;		// Toggle block number
; 	CmdBuf[1]=CID;  	// CID
; 	CmdBuf[2]=0xb8;	// INF:CLA
; 	CmdBuf[3]=0x00;	// INF:INS
; 	CmdBuf[4]=0x01;	// INF:P1
; 	CmdBuf[5]=0x00;	// INF:P2
; 	CmdBuf[6]=0x00;	// INF:Le		  */
; 	
;         if(MProCommand(CmdBuf,9,CmdBuf,len,1,FWI)!=MI_OK) return(!MI_OK);
			; SOURCE LINE # 254
	MOV  	DPTR,#CmdBuf?1774
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCommand?BYTE+05H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#len?1775
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCommand?BYTE+08H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,#01H
	MOVX 	@DPTR,A
	MOV  	DPTR,#FWI
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#?_MProCommand?BYTE+0CH
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?1774
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	R5,#09H
	MOV  	R4,#00H
	LCALL	_MProCommand
	MOV  	A,R7
	JZ   	?C0069
	MOV  	R7,#01H
	RET  	
?C0069:
; 	if(CmdBuf[*len-4]==0x90) return(MI_OK);
			; SOURCE LINE # 255
	MOV  	DPTR,#len?1775
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	?C?ILDPTR
	ADD  	A,#0FCH
	MOV  	R7,A
	MOV  	A,B
	ADDC 	A,#0FFH
	MOV  	R6,A
	MOV  	DPTR,#CmdBuf?1774
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	DPL,R7
	MOV  	DPH,R6
	LCALL	?C?CLDOPTR
	CJNE 	A,#090H,?C0071
	MOV  	R7,#00H
	RET  	
?C0071:
; 	else return(!MI_OK);	  
			; SOURCE LINE # 256
	MOV  	R7,#01H
; }
			; SOURCE LINE # 257
?C0070:
	RET  	
; END OF _EvalOS_GetUID

; 
; char EvalOS_GetChipInfo(unsigned char *CmdBuf, unsigned int *len)

	RSEG  ?PR?_EvalOS_GetChipInfo?MIFAREPROHOST
_EvalOS_GetChipInfo:
	USING	0
			; SOURCE LINE # 259
	MOV  	DPTR,#CmdBuf?1876
	MOV  	A,R3
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
; {
			; SOURCE LINE # 260
; 
; /*	CmdBuf[0]=0x0A|GBLK;// I-block PCB with CID
; 	GBLK ^= 1;	// Toggle block number
; 	CmdBuf[1]=CID;  	// CID
; 	CmdBuf[2]=0xb8;	// INF:CLA
; 	CmdBuf[3]=0x00;	// INF:INS
; 	CmdBuf[4]=0x02;	// INF:P1
; 	CmdBuf[5]=0x00;	// INF:P2
; 	CmdBuf[6]=0x00;	// INF:Le	     */
; 	
;         if(MProCommand(CmdBuf,9,CmdBuf,len,1,FWI)!=MI_OK) return(!MI_OK);
			; SOURCE LINE # 271
	MOV  	DPTR,#CmdBuf?1876
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -