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

📄 icccmd.src

📁 mifarea卡程序mifarea卡程序mifarea卡程序
💻 SRC
📖 第 1 页 / 共 2 页
字号:
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	A,R1
	ADD  	A,R7
	MOV  	R1,A
	MOV  	A,R2
	ADDC 	A,R6
	MOV  	R2,A
	MOV  	DPTR,#LE?048
	MOVX 	A,@DPTR
	MOV  	R5,A
	MOV  	R4,#00H
	LCALL	_IccRead
;             if(i < LE)
			; SOURCE LINE # 100
	MOV  	DPTR,#LE?048
	MOVX 	A,@DPTR
	MOV  	R5,A
	MOV  	R4,#00H
	CLR  	C
	MOV  	A,R7
	SUBB 	A,R5
	MOV  	A,#080H
	MOV  	R0,A
	XRL  	A,R6
	SUBB 	A,R0
	JNC  	?C0018
;     		{
			; SOURCE LINE # 101
;                 #ifdef DEBUGICCCMD
;                 ComWrite("\xbb", 1);
;                 #endif
;     
;     	        return -2;
			; SOURCE LINE # 106
?C0039:
	LJMP 	?C0044
;     		}
			; SOURCE LINE # 107
?C0018:
;     		
;     		k += LE;
			; SOURCE LINE # 109
	MOV  	DPTR,#k?045+01H
	MOVX 	A,@DPTR
	ADD  	A,R5
	MOVX 	@DPTR,A
	MOV  	DPTR,#k?045
	MOVX 	A,@DPTR
	ADDC 	A,R4
	MOVX 	@DPTR,A
;     	}
			; SOURCE LINE # 110
;     	
;     	goto Proc;
			; SOURCE LINE # 112
	LJMP 	?_IccSendCmd?Proc
;     }
			; SOURCE LINE # 113
?C0014:
;     else if(tmp2 == ~tmp)       // tmp2: lsb = 1, INS = ~proc_char
			; SOURCE LINE # 114
	MOV  	DPTR,#tmp?049
	MOVX 	A,@DPTR
	CPL  	A
	MOV  	R5,A
	MOV  	DPTR,#tmp2?051
	MOVX 	A,@DPTR
	XRL  	A,R5
	JZ   	$ + 5H
	LJMP 	?C0020
;     {
			; SOURCE LINE # 115
;         // trans next char
;         if(LC > 0)
			; SOURCE LINE # 117
	MOV  	DPTR,#LC?047
	MOVX 	A,@DPTR
	SETB 	C
	SUBB 	A,#00H
	JC   	?C0021
;         {
			; SOURCE LINE # 118
;             /* send lc */
;             i = IccWrite(cmd+5+j, 1);  
			; SOURCE LINE # 120
	MOV  	DPTR,#cmd?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	ADD  	A,#05H
	MOV  	R1,A
	CLR  	A
	ADDC 	A,R2
	MOV  	R2,A
	MOV  	DPTR,#j?044
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	ADD  	A,R1
	MOV  	R1,A
	MOV  	A,R2
	ADDC 	A,R6
	MOV  	R2,A
	MOV  	R5,#01H
	MOV  	R4,#00H
	LCALL	_IccWrite
;             if(i < 1)
			; SOURCE LINE # 121
	CLR  	C
	MOV  	A,R7
	SUBB 	A,#01H
	MOV  	A,R6
	XRL  	A,#080H
	SUBB 	A,#080H
	JNC  	?C0022
; 			{
			; SOURCE LINE # 122
;                 #ifdef DEBUGICCCMD
;                 ComWrite("\xdc", 1);
;                 #endif
; 
; 		        return -2;
			; SOURCE LINE # 127
?C0040:
	LJMP 	?C0044
; 			}
			; SOURCE LINE # 128
?C0022:
; 			j ++;
			; SOURCE LINE # 129
	MOV  	DPTR,#j?044+01H
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
	JNZ  	?C0034
	MOV  	DPTR,#j?044
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
?C0034:
; 			LC --;
			; SOURCE LINE # 130
	MOV  	DPTR,#LC?047
; 			goto Proc;
			; SOURCE LINE # 131
	SJMP 	?C0042
; 		}
			; SOURCE LINE # 132
?C0021:
; 		
;         
;         if(LE > 0)
			; SOURCE LINE # 135
	MOV  	DPTR,#LE?048
	MOVX 	A,@DPTR
	SETB 	C
	SUBB 	A,#00H
	JNC  	$ + 5H
	LJMP 	?_IccSendCmd?Proc
;         {
			; SOURCE LINE # 136
;             i = IccRead(rsp+k, 1);          // get response.data
			; SOURCE LINE # 137
	MOV  	DPTR,#rsp?042
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	DPTR,#k?045
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	A,R1
	ADD  	A,R7
	MOV  	R1,A
	MOV  	A,R2
	ADDC 	A,R6
	MOV  	R2,A
	MOV  	R5,#01H
	MOV  	R4,#00H
	LCALL	_IccRead
;             if(i < 1)
			; SOURCE LINE # 138
	CLR  	C
	MOV  	A,R7
	SUBB 	A,#01H
	MOV  	A,R6
	XRL  	A,#080H
	SUBB 	A,#080H
	JNC  	?C0024
;     		{
			; SOURCE LINE # 139
;                 #ifdef DEBUGICCCMD
;                 ComWrite("\xba", 1);
;                 #endif
;     
;     	        return -2;
			; SOURCE LINE # 144
?C0041:
	LJMP 	?C0044
;     		}
			; SOURCE LINE # 145
?C0024:
;     		
;     		k ++;
			; SOURCE LINE # 147
	MOV  	DPTR,#k?045+01H
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
	JNZ  	?C0035
	MOV  	DPTR,#k?045
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
?C0035:
;     		LE --;
			; SOURCE LINE # 148
	MOV  	DPTR,#LE?048
?C0042:
	MOVX 	A,@DPTR
	DEC  	A
	MOVX 	@DPTR,A
;     	}
			; SOURCE LINE # 149
; 		
; 		goto Proc;
			; SOURCE LINE # 151
	LJMP 	?_IccSendCmd?Proc
;     }
			; SOURCE LINE # 152
?C0020:
;     else if(proc_char == 0x6c)                        /* incorect lenght P3 */
			; SOURCE LINE # 153
	MOV  	DPTR,#proc_char?046
	MOVX 	A,@DPTR
	XRL  	A,#06CH
	JNZ  	?C0026
;     {
			; SOURCE LINE # 154
;         i = IccRead(&proc_char, 1);
			; SOURCE LINE # 155
	MOV  	R3,#01H
	MOV  	R2,#HIGH (proc_char?046)
	MOV  	R1,#LOW (proc_char?046)
	MOV  	R5,#01H
	MOV  	R4,A
	LCALL	_IccRead
;         if(i < 1)
			; SOURCE LINE # 156
	CLR  	C
	MOV  	A,R7
	SUBB 	A,#01H
	MOV  	A,R6
	XRL  	A,#080H
	SUBB 	A,#080H
	JNC  	?C0027
; 		{
			; SOURCE LINE # 157
;             #ifdef DEBUGICCCMD
;             ComWrite("\x99", 1);
;             #endif
; 
; 	        return -2;
			; SOURCE LINE # 162
?C0043:
	SJMP 	?C0044
; 		}
			; SOURCE LINE # 163
?C0027:
;         else
;         {
			; SOURCE LINE # 165
;             cmdstr[4] = proc_char;
			; SOURCE LINE # 166
	MOV  	DPTR,#proc_char?046
	MOVX 	A,@DPTR
	MOV  	DPTR,#cmdstr?052+04H
	MOVX 	@DPTR,A
;             LE = proc_char;
			; SOURCE LINE # 167
	MOV  	DPTR,#LE?048
	MOVX 	@DPTR,A
;             goto Startsend;                 /* send again*/
			; SOURCE LINE # 168
	LJMP 	?_IccSendCmd?Startsend
;         }
			; SOURCE LINE # 169
;     }
			; SOURCE LINE # 170
?C0026:
;     else if(proc_char == 0x60)
			; SOURCE LINE # 171
	MOV  	DPTR,#proc_char?046
	MOVX 	A,@DPTR
	MOV  	R5,A
	XRL  	A,#060H
	JNZ  	$ + 5H
	LJMP 	?_IccSendCmd?Proc
;     {
			; SOURCE LINE # 172
;         goto Proc;                          /* wait another proc byte */
			; SOURCE LINE # 173
;     }
			; SOURCE LINE # 174
?C0030:
;     else                                    /* sw1 and sw2 */
;     {
			; SOURCE LINE # 176
;        	rsp[k++] = proc_char;
			; SOURCE LINE # 177
	MOV  	DPTR,#rsp?042
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	DPTR,#k?045
	CLR  	A
	MOV  	B,#01H
	LCALL	?C?ILDIX
	MOV  	DPL,B
	MOV  	DPH,A
	MOV  	A,R5
	LCALL	?C?CSTOPTR
;         i = IccRead(rsp+k, 1);
			; SOURCE LINE # 178
	MOV  	DPTR,#k?045
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	ADD  	A,R1
	MOV  	R1,A
	MOV  	A,R2
	ADDC 	A,R6
	MOV  	R2,A
	MOV  	R5,#01H
	MOV  	R4,#00H
	LCALL	_IccRead
;         if(i < 1)
			; SOURCE LINE # 179
	CLR  	C
	MOV  	A,R7
	SUBB 	A,#01H
	MOV  	A,R6
	XRL  	A,#080H
	SUBB 	A,#080H
	JNC  	?C0032
; 		{
			; SOURCE LINE # 180
;             #ifdef DEBUGICCCMD
;             ComWrite("\x88", 1);
;             #endif
; 
; 	        return -2;
			; SOURCE LINE # 185
?C0044:
	MOV  	R6,#0FFH
	MOV  	R7,#0FEH
	RET  	
; 		}
			; SOURCE LINE # 186
?C0032:
; 
;         if(proc_char == 0x61)
			; SOURCE LINE # 188
	MOV  	DPTR,#proc_char?046
	MOVX 	A,@DPTR
	CJNE 	A,#061H,?C0019
;         {
			; SOURCE LINE # 189
;             cmdstr[0] = 0x00;               /* get response CLA */
			; SOURCE LINE # 190
	CLR  	A
	MOV  	DPTR,#cmdstr?052
	MOVX 	@DPTR,A
;             cmdstr[1] = 0xc0;               /* get response INS */
			; SOURCE LINE # 191
	INC  	DPTR
	MOV  	A,#0C0H
	MOVX 	@DPTR,A
;             cmdstr[2] = 0x00;               /* P1 */
			; SOURCE LINE # 192
	CLR  	A
	INC  	DPTR
	MOVX 	@DPTR,A
;             cmdstr[3] = 0x00;               /* P2 */
			; SOURCE LINE # 193
	INC  	DPTR
	MOVX 	@DPTR,A
;             LE = cmdstr[4] = rsp[k];        /* Le */
			; SOURCE LINE # 194
	MOV  	DPTR,#rsp?042
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	DPTR,#k?045
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPL,A
	MOV  	DPH,R6
	LCALL	?C?CLDOPTR
	MOV  	DPTR,#cmdstr?052+04H
	MOVX 	@DPTR,A
	MOV  	DPTR,#LE?048
	MOVX 	@DPTR,A
;             LC = 0;
			; SOURCE LINE # 195
	CLR  	A
	MOV  	DPTR,#LC?047
	MOVX 	@DPTR,A
;             
;             goto Startsend;                 /* get response */
			; SOURCE LINE # 197
	LJMP 	?_IccSendCmd?Startsend
;         }
			; SOURCE LINE # 198
;     }
			; SOURCE LINE # 199
?C0019:
; 
;     return k+1;                               /* command success */
			; SOURCE LINE # 201
	MOV  	DPTR,#k?045+01H
	MOVX 	A,@DPTR
	ADD  	A,#01H
	MOV  	R7,A
	MOV  	DPTR,#k?045
	MOVX 	A,@DPTR
	ADDC 	A,#00H
	MOV  	R6,A
; }
			; SOURCE LINE # 202
?C0002:
	RET  	
; END OF _IccSendCmd

	END

⌨️ 快捷键说明

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