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

📄 mifareproexcute.src

📁 mifarea卡程序mifarea卡程序mifarea卡程序
💻 SRC
📖 第 1 页 / 共 2 页
字号:
			; SOURCE LINE # 101
?C0019:
;            prostatus = MProCard153InitAuth(CmdBuf,len);                //形式参数待定.
			; SOURCE LINE # 102
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCard153InitAuth?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_MProCard153InitAuth
	MOV  	DPTR,#prostatus?042
	MOV  	A,R7
	MOVX 	@DPTR,A
; 		if(prostatus == MI_OK)
			; SOURCE LINE # 103
	JZ   	$ + 5H
	LJMP 	?C0004
;         {
			; SOURCE LINE # 104
; 		   buflen=*len; 
			; SOURCE LINE # 105
?C0050:
; 		   return buflen;
			; SOURCE LINE # 106
	LJMP 	?C0060
; 		 }
			; SOURCE LINE # 107
; 		break;     
			; SOURCE LINE # 108
;       case CMD_153_VRF_AUTH:
			; SOURCE LINE # 109
?C0021:
;      		prostatus = MProCard153VrfAuth(CmdBuf,len);                //形式参数待定.
			; SOURCE LINE # 110
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCard153VrfAuth?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_MProCard153VrfAuth
	MOV  	DPTR,#prostatus?042
	MOV  	A,R7
	MOVX 	@DPTR,A
; 		if(prostatus == MI_OK)
			; SOURCE LINE # 111
	JZ   	$ + 5H
	LJMP 	?C0004
;         {
			; SOURCE LINE # 112
; 		   buflen=*len; 
			; SOURCE LINE # 113
?C0051:
; 		   return buflen;
			; SOURCE LINE # 114
	LJMP 	?C0060
; 		 }
			; SOURCE LINE # 115
; 		break;     
			; SOURCE LINE # 116
;        case CMD_153_WR_FUSE:
			; SOURCE LINE # 117
?C0023:
;            	prostatus = MProCardWrFuse(CmdBuf,len);                //形式参数待定.
			; SOURCE LINE # 118
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCardWrFuse?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_MProCardWrFuse
	MOV  	DPTR,#prostatus?042
	MOV  	A,R7
	MOVX 	@DPTR,A
; 		if(prostatus == MI_OK)
			; SOURCE LINE # 119
	JZ   	$ + 5H
	LJMP 	?C0004
;         {
			; SOURCE LINE # 120
; 		   buflen=*len; 
			; SOURCE LINE # 121
?C0052:
; 		   return buflen;
			; SOURCE LINE # 122
	LJMP 	?C0060
; 		 }
			; SOURCE LINE # 123
; 		break;     
			; SOURCE LINE # 124
;        case CMD_153_RD_FUSE:
			; SOURCE LINE # 125
?C0025:
;          	prostatus = MProCard153RdFuse(CmdBuf,len);                //形式参数待定.
			; SOURCE LINE # 126
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCard153RdFuse?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_MProCard153RdFuse
	MOV  	DPTR,#prostatus?042
	MOV  	A,R7
	MOVX 	@DPTR,A
; 		if(prostatus == MI_OK)
			; SOURCE LINE # 127
	JZ   	$ + 5H
	LJMP 	?C0004
;         {
			; SOURCE LINE # 128
; 		   buflen=*len; 
			; SOURCE LINE # 129
?C0053:
; 		   return buflen;
			; SOURCE LINE # 130
	LJMP 	?C0060
; 		 }
			; SOURCE LINE # 131
; 		break;  
			; SOURCE LINE # 132
; 
; 
; 
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////       
; //这几个函数处理必须注意!
; 
; 
; 
; 	    case CMD_SLE_RD_MMEM:       // UDP: Address
			; SOURCE LINE # 141
?C0027:
;    			 prostatus = MProCardSleRdMmem(CmdBuf,len);                //形式参数待定.
			; SOURCE LINE # 142
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCardSleRdMmem?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_MProCardSleRdMmem
	MOV  	DPTR,#prostatus?042
	MOV  	A,R7
	MOVX 	@DPTR,A
; 		if(prostatus == MI_OK)
			; SOURCE LINE # 143
	JZ   	$ + 5H
	LJMP 	?C0004
;         {
			; SOURCE LINE # 144
; 		   buflen=*len; 
			; SOURCE LINE # 145
?C0054:
; 		   return buflen;
			; SOURCE LINE # 146
	LJMP 	?C0060
; 		 }
			; SOURCE LINE # 147
; 		break;  
			; SOURCE LINE # 148
;                 
;         case CMD_SLE_UPD_MMEM:      // UDP: address + data
			; SOURCE LINE # 150
?C0029:
;            	 prostatus = MProCardSleUpdMmem(CmdBuf,len);                //形式参数待定.
			; SOURCE LINE # 151
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCardSleUpdMmem?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_MProCardSleUpdMmem
	MOV  	DPTR,#prostatus?042
	MOV  	A,R7
	MOVX 	@DPTR,A
; 		if(prostatus == MI_OK)
			; SOURCE LINE # 152
	JZ   	$ + 5H
	LJMP 	?C0004
;         {
			; SOURCE LINE # 153
; 		   buflen=*len; 
			; SOURCE LINE # 154
?C0055:
; 		   return buflen;
			; SOURCE LINE # 155
	LJMP 	?C0060
; 		 }
			; SOURCE LINE # 156
; 		break;  
			; SOURCE LINE # 157
; 
; /**
;         case CMD_SLE_RD_PMEM:       // UDP: NULL
;            	  prostatus = MProCardSleRdPmem(unsigned *CmdBuf,unsigned int buflen);                //形式参数待定.
; 		if(prostatus == MI_OK)
;         {
; 		   buflen=*len; 
; 		   return buflen;
; 		 }
; 		break;  
; 
;         case CMD_SLE_UPD_PMEM:      // UDP: address + data
;              prostatus = MProCardSleUpdPmem(unsigned *CmdBuf,unsigned int buflen);                //形式参数待定.
; 		if(prostatus == MI_OK)
;         {
; 		   buflen=*len; 
; 		   return buflen;
; 		 }
; 		break;  
;         case CMD_SLE_RD_SMEM:       // UDP: NULL
;    			 prostatus = MProCardSleRdSmem(unsigned *CmdBuf,unsigned int buflen);                //形式参数待定.
; 		if(prostatus == MI_OK)
;         {
; 		   buflen=*len; 
; 		   return buflen;
; 		 }
; 		break;  
; 
;         case CMD_SLE_UPD_SMEM:      // UDP: address + data
;  			 prostatus = MProCardSLeUpdSmem(unsigned *CmdBuf,unsigned int buflen);                //形式参数待定.
; 		if(prostatus == MI_OK)
;         {
; 		   buflen=*len; 
; 		   return buflen;
; 		 }
; 		break;  
; **/
; 
; 
; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; 
; 
; 
;         case CMD_SLE_VERIFY:        // UDP: address + data
			; SOURCE LINE # 201
?C0031:
; 			prostatus = MProCardSLeVerify(CmdBuf,len);                //形式参数待定.
			; SOURCE LINE # 202
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_MProCardSLeVerify?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_MProCardSLeVerify
	MOV  	DPTR,#prostatus?042
	MOV  	A,R7
	MOVX 	@DPTR,A
; 		if(prostatus == MI_OK)
			; SOURCE LINE # 203
	JZ   	$ + 5H
	LJMP 	?C0004
;         {
			; SOURCE LINE # 204
; 		   buflen=*len; 
			; SOURCE LINE # 205
?C0056:
; 		   return buflen;
			; SOURCE LINE # 206
	LJMP 	?C0060
; 		 }
			; SOURCE LINE # 207
; 		break;  
			; SOURCE LINE # 208
; 
; 
;    
; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; 
; 
;   
;         case GETUID:
			; SOURCE LINE # 216
?C0033:
;         prostatus = EvalOS_GetUID(CmdBuf,len);
			; SOURCE LINE # 217
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_EvalOS_GetUID?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_EvalOS_GetUID
	MOV  	DPTR,#prostatus?042
	MOV  	A,R7
	MOVX 	@DPTR,A
;         if(prostatus == MI_OK)
			; SOURCE LINE # 218
	JZ   	$ + 5H
	LJMP 	?C0004
;         {
			; SOURCE LINE # 219
; 		   buflen=*len; 
			; SOURCE LINE # 220
?C0057:
; 		   return buflen;
			; SOURCE LINE # 221
	LJMP 	?C0060
; 		 }
			; SOURCE LINE # 222
;         break;
			; SOURCE LINE # 223
;    
;         case GETCHIPINFO:
			; SOURCE LINE # 225
?C0035:
;         prostatus = EvalOS_GetChipInfo(CmdBuf,len);
			; SOURCE LINE # 226
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_EvalOS_GetChipInfo?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_EvalOS_GetChipInfo
	MOV  	DPTR,#prostatus?042
	MOV  	A,R7
	MOVX 	@DPTR,A
;         if(prostatus == MI_OK)
			; SOURCE LINE # 227
	JZ   	$ + 5H
	LJMP 	?C0004
;          {
			; SOURCE LINE # 228
; 		   buflen=*len; 
			; SOURCE LINE # 229
?C0058:
; 		   return buflen;
			; SOURCE LINE # 230
	LJMP 	?C0060
; 		 }
			; SOURCE LINE # 231
;         break;
			; SOURCE LINE # 232
;    
;         case GETROMINFO:
			; SOURCE LINE # 234
?C0037:
;         prostatus = EvalOS_GetRomInfo(CmdBuf,len);
			; SOURCE LINE # 235
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_EvalOS_GetRomInfo?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_EvalOS_GetRomInfo
	MOV  	DPTR,#prostatus?042
	MOV  	A,R7
	MOVX 	@DPTR,A
;         if(prostatus == MI_OK)
			; SOURCE LINE # 236
	JZ   	$ + 5H
	LJMP 	?C0004
;          {
			; SOURCE LINE # 237
; 		   buflen=*len; 
			; SOURCE LINE # 238
?C0059:
; 		   return buflen;
			; SOURCE LINE # 239
	LJMP 	?C0060
; 		 }
			; SOURCE LINE # 240
;         break;
			; SOURCE LINE # 241
; 
;         case DORSAENCRYPT:
			; SOURCE LINE # 243
?C0039:
;         if( (EvalOS_GetUID(CmdBuf,len) == MI_OK)
			; SOURCE LINE # 244
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_EvalOS_GetUID?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_EvalOS_GetUID
	MOV  	A,R7
	JNZ  	?C0040
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_EvalOS_GetChipInfo?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_EvalOS_GetChipInfo
	MOV  	A,R7
	JNZ  	?C0040
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_EvalOS_GetRomInfo?BYTE+03H
	XCH  	A,R1
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	LCALL	_EvalOS_GetRomInfo
	MOV  	A,R7
	JNZ  	?C0040
;               && (EvalOS_GetChipInfo(CmdBuf,len) == MI_OK)
;                && (EvalOS_GetRomInfo(CmdBuf,len) == MI_OK)
;           )
;          prostatus = EvalOS_RSAEncpDecp(CmdBuf,1,64,len);       //注意buflen的大小!
			; SOURCE LINE # 248
	MOV  	DPTR,#?_EvalOS_RSAEncpDecp?BYTE+04H
	MOV  	A,#040H
	MOVX 	@DPTR,A
	MOV  	DPTR,#len?044
	MOVX 	A,@DPTR
	MOV  	R1,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#?_EvalOS_RSAEncpDecp?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,#CmdBuf?040
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	R5,#01H
	LCALL	_EvalOS_RSAEncpDecp
	MOV  	DPTR,#prostatus?042
	MOV  	A,R7
	MOVX 	@DPTR,A
?C0040:
;          if(prostatus == MI_OK)
			; SOURCE LINE # 249
	MOV  	DPTR,#prostatus?042
	MOVX 	A,@DPTR
	JNZ  	?C0004
;          {
			; SOURCE LINE # 250
; 		   buflen=*len; 
			; SOURCE LINE # 251
?C0060:
	INC  	DPTR
	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
	MOV  	R7,A
	MOV  	R6,B
	MOV  	DPTR,#buflen?041
	MOV  	A,R6
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
; 		   return buflen;
			; SOURCE LINE # 252
; 		 }
			; SOURCE LINE # 253
;          break;
			; SOURCE LINE # 254
; 
;          default:
			; SOURCE LINE # 256
;             break;
			; SOURCE LINE # 257
; 
;      
;  }
			; SOURCE LINE # 260
; 
; 
; }			; SOURCE LINE # 263
?C0004:
	RET  	
; END OF _MifareProExcute

	END

⌨️ 快捷键说明

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