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

📄 test.src

📁 这是一个UC/OS-II的多任务实例
💻 SRC
📖 第 1 页 / 共 3 页
字号:
	MOV  	DPTR,#011H
	LCALL	?C?XBPOFF
	CLR  	A
	MOV  	B,#01H
	LCALL	?C?IILDX
	SJMP 	?C0029
?C0030:
; 					L=(INT8U)CRC;H=(INT8U)(CRC>>8);
			; SOURCE LINE # 285
	MOV  	DPTR,#015H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	R5,A
	MOV  	DPTR,#0FH
	LCALL	?C?XBPOFF
	MOV  	A,R5
	MOVX 	@DPTR,A
	MOV  	A,R6
	MOV  	R7,A
	MOV  	DPTR,#0EH
	LCALL	?C?XBPOFF
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					CommPutChar(H,OS_TICKS_PER_SEC);
			; SOURCE LINE # 286
	MOV  	R4,#00H
	MOV  	R5,#032H
	MOV  	DPTR,#0EH
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R7,A
	LCALL	_?CommPutChar
;  					CommPutChar(L,OS_TICKS_PER_SEC);
			; SOURCE LINE # 287
	MOV  	R4,#00H
	MOV  	R5,#032H
	MOV  	DPTR,#0FH
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R7,A
	LCALL	_?CommPutChar
; 					RESFlag=0x00;break;
			; SOURCE LINE # 288
?C0053:
	LJMP 	?C0054
; 
; 		  case 0x03:CRCLEN=OutBuf[1];
			; SOURCE LINE # 290
?C0032:
	MOV  	DPTR,#OutBuf+01H
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#010H
	LCALL	?C?XBPOFF
	MOV  	A,R7
	MOVX 	@DPTR,A
; 		            CRC=cal_crc(&OutBuf[0],CRCLEN);
			; SOURCE LINE # 291
	MOV  	DPTR,#010H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R5,A
	MOV  	R3,#01H
	MOV  	R2,#HIGH (OutBuf)
	MOV  	R1,#LOW (OutBuf)
	LCALL	_?cal_crc
	MOV  	DPTR,#015H
	LCALL	?C?XBPOFF
	MOV  	A,R6
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					j=(INT16U)OutBuf[1];
			; SOURCE LINE # 292
	MOV  	DPTR,#OutBuf+01H
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	R6,#00H
	MOV  	DPTR,#013H
	LCALL	?C?XBPOFF
	MOV  	A,R6
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					for(i=0;i<j;i++)
			; SOURCE LINE # 293
	MOV  	DPTR,#011H
	LCALL	?C?XBPOFF
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOVX 	@DPTR,A
?C0033:
	MOV  	DPTR,#013H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#011H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R3,A
	CLR  	C
	SUBB 	A,R7
	MOV  	A,R2
	SUBB 	A,R6
	JNC  	?C0034
; 					{CommPutChar(OutBuf[i],OS_TICKS_PER_SEC);}
			; SOURCE LINE # 294
	MOV  	R4,#00H
	MOV  	R5,#032H
	MOV  	A,#LOW (OutBuf)
	ADD  	A,R3
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (OutBuf)
	MOV  	DPH,A
	MOVX 	A,@DPTR
	MOV  	R7,A
	LCALL	_?CommPutChar
	MOV  	DPTR,#011H
	LCALL	?C?XBPOFF
	CLR  	A
	MOV  	B,#01H
	LCALL	?C?IILDX
	SJMP 	?C0033
?C0034:
; 					L=(INT8U)CRC;H=(INT8U)(CRC>>8);
			; SOURCE LINE # 295
	MOV  	DPTR,#015H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	R5,A
	MOV  	DPTR,#0FH
	LCALL	?C?XBPOFF
	MOV  	A,R5
	MOVX 	@DPTR,A
	MOV  	A,R6
	MOV  	R7,A
	MOV  	DPTR,#0EH
	LCALL	?C?XBPOFF
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					CommPutChar(H,OS_TICKS_PER_SEC);
			; SOURCE LINE # 296
	MOV  	R4,#00H
	MOV  	R5,#032H
	MOV  	DPTR,#0EH
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R7,A
	LCALL	_?CommPutChar
;  					CommPutChar(L,OS_TICKS_PER_SEC);
			; SOURCE LINE # 297
	MOV  	R4,#00H
	MOV  	R5,#032H
	MOV  	DPTR,#0FH
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R7,A
	LCALL	_?CommPutChar
; 					RESFlag=0x00;break;
			; SOURCE LINE # 298
?C0054:
	CLR  	A
	MOV  	DPTR,#RESFlag
	MOVX 	@DPTR,A
;          }
			; SOURCE LINE # 299
?C0023:
;          OSTimeDly(2);
			; SOURCE LINE # 300
	MOV  	R7,#02H
	MOV  	R6,#00H
	LCALL	_OSTimeDly
;         }
			; SOURCE LINE # 301
	LJMP 	?C0021
; END OF _?TxTASK

; 
; }
; 
; /*
; *********************************************************************************************************
; *                                             OETASK
; *********************************************************************************************************
; */
; 
; void OETASK(void *cszdata) reentrant

	RSEG  ?PR?_?OETASK?TEST
_?OETASK:
	USING	0
			; SOURCE LINE # 311
	MOV  	DPTR,#0FFFDH
	LCALL	?C?ADDXBP
	MOV  	A,R3
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
	MOV  	DPTR,#0FFF6H
	LCALL	?C?ADDXBP
; {   
;     INT8U  H2,H1,L2,L1;
; 	INT16U  k;
; 	INT16U i,j;
;     extern INT8U OutBuf[256];
; 	extern INT8U InBuf[130];
; 
;     cszdata=cszdata;
			; SOURCE LINE # 319
	MOV  	DPTR,#0AH
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R3,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R1,A
	MOV  	DPTR,#0AH
	LCALL	?C?XBPOFF
	MOV  	A,R3
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R2
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R1
	MOVX 	@DPTR,A
; 
;     for (;;) 
			; SOURCE LINE # 321
?C0037:
; 	    {
			; SOURCE LINE # 322
; 		 srand(TICKS);
			; SOURCE LINE # 323
	MOV  	DPTR,#TICKS
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	R6,#00H
	LCALL	_srand
; 		 switch(OEFlag)
			; SOURCE LINE # 324
	MOV  	DPTR,#OEFlag
	MOVX 	A,@DPTR
	ADD  	A,#0FEH
	JNZ  	$ + 5H
	LJMP 	?C0044
	INC  	A
	JZ   	$ + 5H
	LJMP 	?C0039
; 		 {
			; SOURCE LINE # 325
; 		  case 0x01:OutBuf[0]=0x1B;
			; SOURCE LINE # 326
?C0040:
	MOV  	DPTR,#OutBuf
	MOV  	A,#01BH
	MOVX 	@DPTR,A
; 		            OutBuf[1]=InBuf[1]+0x04;
			; SOURCE LINE # 327
	MOV  	DPTR,#InBuf+01H
	MOVX 	A,@DPTR
	ADD  	A,#04H
	MOV  	DPTR,#OutBuf+01H
	MOVX 	@DPTR,A
; 					OutBuf[2]=0x02;
			; SOURCE LINE # 328
	INC  	DPTR
	MOV  	A,#02H
	MOVX 	@DPTR,A
; 					j=(INT16U)OutBuf[1];
			; SOURCE LINE # 329
	MOV  	DPTR,#OutBuf+01H
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	R6,#00H
	MOV  	DPTR,#08H
	LCALL	?C?XBPOFF
	MOV  	A,R6
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					H2=rand();
			; SOURCE LINE # 330
	LCALL	rand
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					H1=rand();
			; SOURCE LINE # 331
	LCALL	rand
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					L2=rand();
			; SOURCE LINE # 332
	LCALL	rand
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	INC  	DPTR
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					L1=rand();
			; SOURCE LINE # 333
	LCALL	rand
	MOV  	DPTR,#03H
	LCALL	?C?XBPOFF
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					OutBuf[3]=H2;
			; SOURCE LINE # 334
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	MOVX 	A,@DPTR
	MOV  	DPTR,#OutBuf+03H
	MOVX 	@DPTR,A
; 					OutBuf[4]=H1;
			; SOURCE LINE # 335
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#OutBuf+04H
	MOVX 	@DPTR,A
; 					OutBuf[5]=L2;
			; SOURCE LINE # 336
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	INC  	DPTR
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#OutBuf+05H
	MOVX 	@DPTR,A
; 					OutBuf[6]=L1;
			; SOURCE LINE # 337
	MOV  	DPTR,#03H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	DPTR,#OutBuf+06H
	MOVX 	@DPTR,A
; 					for(i=7;i<j;i++)
			; SOURCE LINE # 338
	MOV  	DPTR,#06H
	LCALL	?C?XBPOFF
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,#07H
	MOVX 	@DPTR,A
?C0041:
	MOV  	DPTR,#08H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#06H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R4,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R5,A
	CLR  	C
	SUBB 	A,R7
	MOV  	A,R4
	SUBB 	A,R6
	JNC  	?C0042
; 					{
			; SOURCE LINE # 339
; 					 OutBuf[i]=InBuf[i-4];
			; SOURCE LINE # 340
	MOV  	R7,AR5
	MOV  	A,#LOW (InBuf+0FFFCH)
	ADD  	A,R7
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (InBuf+0FFFCH)
	MOV  	DPH,A
	MOVX 	A,@DPTR
	MOV  	R6,A
	MOV  	A,#LOW (OutBuf)
	ADD  	A,R7
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (OutBuf)
	MOV  	DPH,A
	MOV  	A,R6
	MOVX 	@DPTR,A
; 					}
			; SOURCE LINE # 341
	MOV  	DPTR,#06H
	LCALL	?C?XBPOFF
	CLR  	A
	MOV  	B,#01H
	LCALL	?C?IILDX
	SJMP 	?C0041
?C0042:
; 					RESFlag=0x02;OEFlag=0x00;break;
			; SOURCE LINE # 342
	MOV  	DPTR,#RESFlag
	MOV  	A,#02H
	LJMP 	?C0055
;           case 0x02:OutBuf[0]=0x1B;
			; SOURCE LINE # 343
?C0044:
	MOV  	DPTR,#OutBuf
	MOV  	A,#01BH
	MOVX 	@DPTR,A
; 		  			OutBuf[1]=InBuf[1];
			; SOURCE LINE # 344
	MOV  	DPTR,#InBuf+01H
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#OutBuf+01H
	MOVX 	@DPTR,A
; 					OutBuf[2]=0x03;
			; SOURCE LINE # 345
	INC  	DPTR
	MOV  	A,#03H
	MOVX 	@DPTR,A
; 		            j=(INT16U)InBuf[1];k=0;
			; SOURCE LINE # 346
	MOV  	R6,#00H
	MOV  	DPTR,#08H
	LCALL	?C?XBPOFF
	MOV  	A,R6
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
	MOV  	DPTR,#04H
	LCALL	?C?XBPOFF
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOVX 	@DPTR,A
; 					H2=rand();
			; SOURCE LINE # 347
	LCALL	rand
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					H1=rand();
			; SOURCE LINE # 348
	LCALL	rand
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					L2=rand();
			; SOURCE LINE # 349
	LCALL	rand
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	INC  	DPTR
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					L1=rand();
			; SOURCE LINE # 350
	LCALL	rand
	MOV  	DPTR,#03H
	LCALL	?C?XBPOFF
	MOV  	A,R7
	MOVX 	@DPTR,A
; 					OutBuf[3]=H2;
			; SOURCE LINE # 351
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	MOVX 	A,@DPTR
	MOV  	DPTR,#OutBuf+03H
	MOVX 	@DPTR,A
; 					OutBuf[4]=H1;
			; SOURCE LINE # 352
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#OutBuf+04H
	MOVX 	@DPTR,A
; 					OutBuf[5]=L2;
			; SOURCE LINE # 353
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	INC  	DPTR
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	DPTR,#OutBuf+05H
	MOVX 	@DPTR,A
; 					OutBuf[6]=L1;
			; SOURCE LINE # 354
	MOV  	DPTR,#03H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	DPTR,#OutBuf+06H
	MOVX 	@DPTR,A
; 					for(i=7;i<j;i++)
			; SOURCE LINE # 355
	MOV  	DPTR,#06H
	LCALL	?C?XBPOFF
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,#07H
	MOVX 	@DPTR,A
?C0045:
	MOV  	DPTR,#08H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#06H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R4,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R5,A
	CLR  	C
	SUBB 	A,R7
	MOV  	A,R4
	SUBB 	A,R6
	JNC  	?C0046
; 					{OutBuf[i]=InBuf[i];k++;}
			; SOURCE LINE # 356
	MOV  	A,#LOW (InBuf)
	ADD  	A,R5
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (InBuf)
	MOV  	DPH,A
	MOVX 	A,@DPTR
	MOV  	R4,A
	MOV  	A,#LOW (OutBuf)
	ADD  	A,R5
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (OutBuf)
	MOV  	DPH,A
	MOV  	A,R4
	MOVX 	@DPTR,A
	MOV  	DPTR,#04H
	LCALL	?C?XBPOFF
	CLR  	A
	MOV  	B,#01H
	LCALL	?C?IILDX
	MOV  	DPTR,#06H
	LCALL	?C?XBPOFF
	CLR  	A
	MOV  	B,#01H
	LCALL	?C?IILDX
	SJMP 	?C0045
?C0046:
; 					OutBuf[1]=OutBuf[1]+(INT8U)k;
			; SOURCE LINE # 357
	MOV  	DPTR,#04H
	LCALL	?C?XBPOFF
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R5,A
	MOV  	DPTR,#OutBuf+01H
	MOVX 	A,@DPTR
	ADD  	A,R5
	MOVX 	@DPTR,A
; 					for(i=j;i<j+k;i++)
			; SOURCE LINE # 358
	MOV  	DPTR,#06H
	LCALL	?C?XBPOFF
	MOV  	A,R6
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
?C0048:
	MOV  	DPTR,#04H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R6,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#08H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R4,A
	INC  	DPTR
	MOVX 	A,@DPTR
	ADD  	A,R7
	MOV  	R5,A
	MOV  	A,R4
	ADDC 	A,R6
	MOV  	R4,A
	MOV  	DPTR,#06H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R2,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R3,A
	CLR  	C
	SUBB 	A,R5
	MOV  	A,R2
	SUBB 	A,R4
	JNC  	?C0049
; 					{OutBuf[i]=InBuf[i-k];}
			; SOURCE LINE # 359
	CLR  	C
	MOV  	A,R3
	SUBB 	A,R7
	MOV  	R7,A
	MOV  	A,R2
	SUBB 	A,R6
	MOV  	R6,A
	MOV  	A,#LOW (InBuf)
	ADD  	A,R7
	MOV  	DPL,A
	MOV  	A,#HIGH (InBuf)
	ADDC 	A,R6
	MOV  	DPH,A
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	A,#LOW (OutBuf)
	ADD  	A,R3
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (OutBuf)
	MOV  	DPH,A
	MOV  	A,R7
	MOVX 	@DPTR,A
	MOV  	DPTR,#06H
	LCALL	?C?XBPOFF
	CLR  	A
	MOV  	B,#01H
	LCALL	?C?IILDX
	SJMP 	?C0048
?C0049:
; 					RESFlag=0x03;OEFlag=0x00;break;
			; SOURCE LINE # 360
	MOV  	DPTR,#RESFlag
	MOV  	A,#03H
?C0055:
	MOVX 	@DPTR,A
	CLR  	A
	MOV  	DPTR,#OEFlag
	MOVX 	@DPTR,A
;          }
			; SOURCE LINE # 361
?C0039:
;        
;           OSTimeDly(2);
			; SOURCE LINE # 363
	MOV  	R7,#02H
	MOV  	R6,#00H
	LCALL	_OSTimeDly
;         }
			; SOURCE LINE # 364
	LJMP 	?C0037
; END OF _?OETASK

	END

⌨️ 快捷键说明

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