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

📄 ucos_ii.src

📁 本文面向首次接触uC/OS-II的程序员
💻 SRC
📖 第 1 页 / 共 5 页
字号:
	PUSH 	AR3
	PUSH 	AR2
	PUSH 	AR1
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	LCALL	?C?PLDXDATA
	MOV  	DPTR,#06H
	LCALL	?C?PSTOPTR
; *** sync lost ***
			; SOURCE LINE # 1096
	MOV  	DPTR,#OSTCBList
	LCALL	?C?PLDXDATA
	MOV  	A,R1
	ORL  	A,R2
	ORL  	A,R3
	JZ   	?C0042
; *** sync lost ***
			; SOURCE LINE # 1097
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	LCALL	?C?PLDXDATA
	PUSH 	AR3
	PUSH 	AR2
	PUSH 	AR1
	MOV  	DPTR,#OSTCBList
	LCALL	?C?PLDXDATA
	MOV  	DPTR,#06H
	LCALL	?C?PSTOPTR
; *** sync lost ***
			; SOURCE LINE # 1098
?C0042:
; *** sync lost ***
			; SOURCE LINE # 1099
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	LCALL	?C?PLDXDATA
	MOV  	DPTR,#OSTCBList
	LCALL	?C?PSTXDATA
; *** sync lost ***
			; SOURCE LINE # 1100
	MOV  	DPTR,#OSRdyGrp
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	LCALL	?C?PLDXDATA
	MOV  	DPTR,#010H
	LCALL	?C?CLDOPTR
	MOV  	R6,A
	MOV  	A,R7
	ORL  	A,R6
	MOV  	DPTR,#OSRdyGrp
	MOVX 	@DPTR,A
; *** sync lost ***
			; SOURCE LINE # 1101
	MOV  	DPTR,#0EH
	LCALL	?C?CLDOPTR
	ADD  	A,#LOW (OSRdyTbl)
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (OSRdyTbl)
	MOV  	DPH,A
	PUSH 	DPH
	PUSH 	DPL
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	LCALL	?C?PLDXDATA
	MOV  	DPTR,#0FH
	LCALL	?C?CLDOPTR
	MOV  	R6,A
	MOV  	A,R7
	ORL  	A,R6
	POP  	DPL
	POP  	DPH
	MOVX 	@DPTR,A
; *** sync lost ***
			; SOURCE LINE # 1102
	SETB 	EA
; *** sync lost ***
			; SOURCE LINE # 1103
	MOV  	R7,#00H
	SJMP 	?C0043
; *** sync lost ***
			; SOURCE LINE # 1104
?C0041:
; *** sync lost ***
			; SOURCE LINE # 1105
	SETB 	EA
; *** sync lost ***
			; SOURCE LINE # 1106
	MOV  	R7,#046H
; *** sync lost ***
			; SOURCE LINE # 1107
?C0043:
	MOV  	DPTR,#015H
	LJMP 	?C?ADDXBP
; END OF _?OS_TCBInit


	RSEG  ?PR?_?OSTaskCreate?UCOS_II
_?OSTaskCreate:
	USING	0
			; SOURCE LINE # 158
	MOV  	DPTR,#0FFFDH
	LCALL	?C?ADDXBP
	LCALL	?C?PSTXDATA
	MOV  	DPTR,#0FFFCH
	LCALL	?C?ADDXBP
			; SOURCE LINE # 168
	MOV  	DPTR,#0DH
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R6,A
	SETB 	C
	SUBB 	A,#09H
	JC   	?C0044
			; SOURCE LINE # 169
	MOV  	R7,#02AH
	LJMP 	?C0045
			; SOURCE LINE # 170
?C0044:
			; SOURCE LINE # 172
	CLR  	EA
			; SOURCE LINE # 173
	MOV  	A,R6
	MOV  	B,#03H
	MUL  	AB
	ADD  	A,#LOW (OSTCBPrioTbl)
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (OSTCBPrioTbl)
	MOV  	DPH,A
	LCALL	?C?PLDXDATA
	MOV  	A,R1
	ORL  	A,R2
	ORL  	A,R3
	JZ   	$ + 5H
	LJMP 	?C0046
			; SOURCE LINE # 174
	MOV  	R3,A
	MOV  	R2,A
	MOV  	R1,#01H
	MOV  	DPTR,#0DH
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	B,#03H
	MUL  	AB
	ADD  	A,#LOW (OSTCBPrioTbl)
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (OSTCBPrioTbl)
	MOV  	DPH,A
	LCALL	?C?PSTXDATA
			; SOURCE LINE # 176
	SETB 	EA
			; SOURCE LINE # 177
	MOV  	DPTR,#0FFFEH
	LCALL	?C?ADDXBP
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOVX 	@DPTR,A
	MOV  	DPTR,#0CH
	LCALL	?C?XBPOFF
	LCALL	?C?PLDXDATA
	MOV  	DPTR,#0FFFDH
	LCALL	?C?ADDXBP
	LCALL	?C?PSTXDATA
	MOV  	DPTR,#0CH
	LCALL	?C?XBPOFF
	LCALL	?C?PLDXDATA
	MOV  	DPTR,#0FFFDH
	LCALL	?C?ADDXBP
	LCALL	?C?PSTXDATA
	MOV  	DPTR,#0CH
	LCALL	?C?XBPOFF
	LCALL	?C?PLDXDATA
	LCALL	_?OSTaskStkInit
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	LCALL	?C?PSTXDATA
			; SOURCE LINE # 178
	MOV  	DPTR,#0FFFEH
	LCALL	?C?ADDXBP
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOVX 	@DPTR,A
	MOV  	R3,A
	MOV  	R2,A
	MOV  	R1,A
	MOV  	DPTR,#0FFFDH
	LCALL	?C?ADDXBP
	LCALL	?C?PSTXDATA
	MOV  	DPTR,#0FFFCH
	LCALL	?C?ADDXBP
	LCALL	?C?LSTKXDATA
	DB   	00H
	DB   	00H
	DB   	00H
	DB   	00H
	MOV  	DPTR,#0FFFEH
	LCALL	?C?ADDXBP
	CLR  	A
	MOVX 	@DPTR,A
	INC  	DPTR
	MOVX 	@DPTR,A
	MOV  	R3,A
	MOV  	R2,A
	MOV  	R1,A
	MOV  	DPTR,#0FFFDH
	LCALL	?C?ADDXBP
	LCALL	?C?PSTXDATA
	MOV  	DPTR,#0EH
	LCALL	?C?XBPOFF
	LCALL	?C?PLDXDATA
	MOV  	DPTR,#01BH
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R7,A
	LCALL	_?OS_TCBInit
	MOV  	DPTR,#03H
	LCALL	?C?XBPOFF
	MOV  	A,R7
	MOVX 	@DPTR,A
			; SOURCE LINE # 179
	MOV  	DPTR,#03H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	JNZ  	?C0047
			; SOURCE LINE # 180
	CLR  	EA
			; SOURCE LINE # 181
	MOV  	DPTR,#OSTaskCtr
	MOVX 	A,@DPTR
	INC  	A
	MOVX 	@DPTR,A
			; SOURCE LINE # 182
	SETB 	EA
			; SOURCE LINE # 183
	JNB  	OSRunning,?C0049
			; SOURCE LINE # 184
	LCALL	_?OS_Sched
			; SOURCE LINE # 185
			; SOURCE LINE # 186
	SJMP 	?C0049
?C0047:
			; SOURCE LINE # 187
	CLR  	EA
			; SOURCE LINE # 188
	MOV  	R3,#00H
	MOV  	R2,#00H
	MOV  	R1,#00H
	MOV  	DPTR,#0DH
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	B,#03H
	MUL  	AB
	ADD  	A,#LOW (OSTCBPrioTbl)
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (OSTCBPrioTbl)
	MOV  	DPH,A
	LCALL	?C?PSTXDATA
			; SOURCE LINE # 189
	SETB 	EA
			; SOURCE LINE # 190
?C0049:
			; SOURCE LINE # 191
	MOV  	DPTR,#03H
	LCALL	?C?XBPOFF
	MOVX 	A,@DPTR
	MOV  	R7,A
	SJMP 	?C0045
			; SOURCE LINE # 192
?C0046:
			; SOURCE LINE # 193
	SETB 	EA
			; SOURCE LINE # 194
	MOV  	R7,#028H
			; SOURCE LINE # 195
?C0045:
	MOV  	DPTR,#0EH
	LJMP 	?C?ADDXBP
; END OF _?OSTaskCreate


	RSEG  ?PR?_?OSTimeDly?UCOS_II
_?OSTimeDly:
	USING	0
			; SOURCE LINE # 35
	MOV  	DPTR,#0FFFEH
	LCALL	?C?ADDXBP
	MOV  	A,R6
	MOVX 	@DPTR,A
	INC  	DPTR
	MOV  	A,R7
	MOVX 	@DPTR,A
			; SOURCE LINE # 42
	MOV  	DPH,?C_XBP
	MOV  	DPL,?C_XBP+01H
	MOVX 	A,@DPTR
	MOV  	R4,A
	INC  	DPTR
	MOVX 	A,@DPTR
	MOV  	R5,A
	SETB 	C
	SUBB 	A,#00H
	MOV  	A,R4
	SUBB 	A,#00H
	JC   	?C0052
			; SOURCE LINE # 43
	CLR  	EA
			; SOURCE LINE # 44
	MOV  	DPTR,#OSTCBCur
	LCALL	?C?PLDXDATA
	MOV  	DPTR,#0EH
	LCALL	?C?CLDOPTR
	ADD  	A,#LOW (OSRdyTbl)
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (OSRdyTbl)
	MOV  	DPH,A
	PUSH 	DPH
	PUSH 	DPL
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#OSTCBCur
	LCALL	?C?PLDXDATA
	MOV  	DPTR,#0FH
	LCALL	?C?CLDOPTR
	CPL  	A
	MOV  	R6,A
	MOV  	A,R7
	ANL  	A,R6
	POP  	DPL
	POP  	DPH
	MOVX 	@DPTR,A
	JNZ  	?C0051
			; SOURCE LINE # 45
	MOV  	DPTR,#OSRdyGrp
	MOVX 	A,@DPTR
	MOV  	R7,A
	MOV  	DPTR,#010H
	LCALL	?C?CLDOPTR
	CPL  	A
	MOV  	R6,A
	MOV  	A,R7
	ANL  	A,R6
	MOV  	DPTR,#OSRdyGrp
	MOVX 	@DPTR,A
			; SOURCE LINE # 46
?C0051:
			; SOURCE LINE # 47
	MOV  	DPTR,#OSTCBCur
	LCALL	?C?PLDXDATA
	MOV  	DPTR,#09H
	MOV  	A,R4
	MOV  	B,R5
	LCALL	?C?ISTOPTR
			; SOURCE LINE # 48
	SETB 	EA
			; SOURCE LINE # 49
	LCALL	_?OS_Sched
			; SOURCE LINE # 50
			; SOURCE LINE # 51
?C0052:
	MOV  	DPTR,#02H
	LJMP 	?C?ADDXBP
; END OF _?OSTimeDly


	RSEG  ?PR?Lcd1602Delay?UCOS_II
Lcd1602Delay:
	USING	0
			; SOURCE LINE # 12
			; SOURCE LINE # 13
			; SOURCE LINE # 16
;---- Variable 'i?1640' assigned to Register 'R7' ----
	MOV  	R7,#02CH
			; SOURCE LINE # 18
			; SOURCE LINE # 20
?C0053:
	DJNZ 	R7,?C0053
			; SOURCE LINE # 21
	RET  	
; END OF Lcd1602Delay


	RSEG  ?PR?_Lcd1602SendComm?UCOS_II
_Lcd1602SendComm:
	USING	0
			; SOURCE LINE # 23
;---- Variable 'Command?1741' assigned to Register 'R6' ----
	MOV  	R6,AR7
			; SOURCE LINE # 24
			; SOURCE LINE # 25
	LCALL	Lcd1602Delay
			; SOURCE LINE # 26
	MOV  	DPTR,#0B000H
	MOV  	A,R6
	MOVX 	@DPTR,A
			; SOURCE LINE # 27
	RET  	
; END OF _Lcd1602SendComm


	RSEG  ?PR?_Lcd1602SendDate?UCOS_II
L?0084:
	USING	0
	MOV  	DPTR,#Data?1945
	CLR  	A
	MOV  	B,#01H
	LCALL	?C?PLDIXDATA
	LCALL	?C?CLDPTR
	MOV  	R7,A
_Lcd1602SendDate:
	USING	0
			; SOURCE LINE # 29
;---- Variable 'Data?1842' assigned to Register 'R6' ----
	MOV  	R6,AR7
			; SOURCE LINE # 30
			; SOURCE LINE # 31
	LCALL	Lcd1602Delay
			; SOURCE LINE # 32
	MOV  	DPTR,#0B100H
	MOV  	A,R6
	MOVX 	@DPTR,A
			; SOURCE LINE # 33
	RET  	
; END OF _Lcd1602SendDate


	RSEG  ?PR?_Lcd1602DispStr?UCOS_II
_Lcd1602DispStr:
	USING	0
			; SOURCE LINE # 35
	MOV  	DPTR,#Data?1945
	LCALL	?C?PSTXDATA
;---- Variable 'x?1943' assigned to Register 'R4' ----
	MOV  	R4,AR7
;---- Variable 'y?1944' assigned to Register 'R5' ----
			; SOURCE LINE # 36
			; SOURCE LINE # 37
	MOV  	A,R5
	XRL  	A,#01H
	JNZ  	?C0059
			; SOURCE LINE # 38
			; SOURCE LINE # 39
	MOV  	A,R4
	CLR  	C
	SUBB 	A,#011H
	JNC  	?C0059
			; SOURCE LINE # 40
			; SOURCE LINE # 41
	MOV  	A,R4
	ADD  	A,#07FH
	MOV  	R7,A
	LCALL	_Lcd1602SendComm
			; SOURCE LINE # 42
?C0061:
	MOV  	A,R4
	CLR  	C
	SUBB 	A,#011H
	JNC  	?C0062
	MOV  	DPTR,#Data?1945
	LCALL	?C?PLDXDATA
	LCALL	?C?CLDPTR
	JZ   	?C0062
			; SOURCE LINE # 44
			; SOURCE LINE # 45
	LCALL	L?0084
			; SOURCE LINE # 46
	INC  	R4
	SJMP 	?C0061
?C0062:
			; SOURCE LINE # 47
	MOV  	DPTR,#Data?1945
	LCALL	?C?PLDXDATA
	LCALL	?C?CLDPTR
	JZ   	?C0059
			; SOURCE LINE # 48
			; SOURCE LINE # 49
	MOV  	R4,#01H
			; SOURCE LINE # 50
	MOV  	R5,#02H
			; SOURCE LINE # 51
			; SOURCE LINE # 52
			; SOURCE LINE # 53
?C0059:
			; SOURCE LINE # 54
	MOV  	A,R5
	XRL  	A,#02H
	JNZ  	?C0069
			; SOURCE LINE # 55
			; SOURCE LINE # 56
	MOV  	A,R4
	ADD  	A,#0BFH
	MOV  	R7,A
	LCALL	_Lcd1602SendComm
			; SOURCE LINE # 57
?C0066:
	MOV  	A,R4
	CLR  	C
	SUBB 	A,#011H
	JNC  	?C0069
	MOV  	DPTR,#Data?1945
	LCALL	?C?PLDXDATA
	LCALL	?C?CLDPTR
	JZ   	?C0069
			; SOURCE LINE # 59
			; SOURCE LINE # 60
	LCALL	L?0084
			; SOURCE LINE # 61
	INC  	R4
	SJMP 	?C0066
			; SOURCE LINE # 62
			; SOURCE LINE # 63
?C0069:
	RET  	
; END OF _Lcd1602DispStr


	RSEG  ?PR?_Lcd1602DispCha?UCOS_II
_Lcd1602DispCha:
	USING	0
			; SOURCE LINE # 65
;---- Variable 'x?2046' assigned to Register 'R4' ----
	MOV  	R4,AR7
;---- Variable 'Data?2048' assigned to Register 'R3' ----
;---- Variable 'y?2047' assigned to Register 'R5' ----
			; SOURCE LINE # 66
			; SOURCE LINE # 67
	MOV  	A,R5
	CJNE 	A,#01H,?C0070
			; SOURCE LINE # 68
			; SOURCE LINE # 69
	MOV  	A,R4
	CLR  	C
	SUBB 	A,#011H
	JNC  	?C0070
			; SOURCE LINE # 70
			; SOURCE LINE # 71
	MOV  	A,R4
	ADD  	A,#07FH
	MOV  	R7,A
	LCALL	_Lcd1602SendComm
			; SOURCE LINE # 72
	MOV  	R7,AR3
	LCALL	_Lcd1602SendDate
			; SOURCE LINE # 73
			; SOURCE LINE # 74
?C0070:
			; SOURCE LINE # 75
	MOV  	A,R5
	CJNE 	A,#02H,?C0073
			; SOURCE LINE # 76
			; SOURCE LINE # 77
	MOV  	A,R4
	ADD  	A,#0BFH
	MOV  	R7,A
	LCALL	_Lcd1602SendComm
			; SOURCE LINE # 79
	MOV  	R7,AR3
	LCALL	_Lcd1602SendDate
			; SOURCE LINE # 80
			; SOURCE LINE # 81
?C0073:
	RET  	
; END OF _Lcd1602DispCha


	RSEG  ?PR?_Lcd1602Clr?UCOS_II
_Lcd1602Clr:
	USING	0
			; SOURCE LINE # 83
;---- Variable 'y?2149' assigned to Register 'R5' ----
	MOV  	R5,AR7
			; SOURCE LINE # 84
			; SOURCE LINE # 87
	MOV  	A,R5
	CJNE 	A,#01H,?C0074
			; SOURCE LINE # 88
			; SOURCE LINE # 89
	MOV  	R7,#080H
	LCALL	_Lcd1602SendComm
			; SOURCE LINE # 90
?C0074:
			; SOURCE LINE # 91
	MOV  	A,R5
	CJNE 	A,#02H,?C0075
			; SOURCE LINE # 92
			; SOURCE LINE # 93
	MOV  	R7,#0C0H
	LCALL	_Lcd1602SendComm
			; SOURCE LINE # 94
?C0075:
			; SOURCE LINE # 95
;---- Variable 'i?2150' assigned to Register 'R5' ----
	CLR  	A
	MOV  	R5,A
?C0076:
			; SOURCE LINE # 96
			; SOURCE LINE # 97
	MOV  	R7,#020H
	LCALL	_Lcd1602SendDate
			; SOURCE LINE # 98
	INC  	R5
	MOV  	A,R5
	CJNE 	A,#010H,?C0076
			; SOURCE LINE # 99
?C0079:
	RET  	
; END OF _Lcd1602Clr


	RSEG  ?PR?Lcd1602Init?UCOS_II
Lcd1602Init:
	USING	0
			; SOURCE LINE # 101
			; SOURCE LINE # 102
			; SOURCE LINE # 103
	MOV  	R7,#03CH
	LCALL	_Lcd1602SendComm
			; SOURCE LINE # 104
	MOV  	R7,#0CH
	LCALL	_Lcd1602SendComm
			; SOURCE LINE # 105
	MOV  	R7,#06H
	LCALL	_Lcd1602SendComm
			; SOURCE LINE # 106
	MOV  	R7,#014H
	LCALL	_Lcd1602SendComm
			; SOURCE LINE # 107
	MOV  	R7,#01H
	LCALL	_Lcd1602Clr
			; SOURCE LINE # 108
	MOV  	R7,#02H
	LJMP 	_Lcd1602Clr
; END OF Lcd1602Init

	END

⌨️ 快捷键说明

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