os_task.ls1
来自「在51单片机上移植成功的UCOS-II操作系统源代码,包括源代码及相关注释」· LS1 代码 · 共 1,019 行 · 第 1/5 页
LS1
1,019 行
A51 MACRO ASSEMBLER OS_TASK 09/09/2007 21:13:11 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN OS_TASK.OBJ
ASSEMBLER INVOKED BY: D:\Keil\C51\BIN\A51.EXE OS_TASK.src PR(.\OS_TASK.ls1) EP DEBUG
LOC OBJ LINE SOURCE
1 ; .\OS_TASK.SRC generated from: OS_TASK.C
2 ; COMPILER INVOKED BY:
3 ; D:\Keil\C51\BIN\C51.EXE OS_TASK.C LARGE BROWSE DEBUG OBJECTEXTEND SRC(.\OS_TASK.SR
C)
4
5 $nomod51
6
7 NAME OS_TASK
8
0080 9 P0 DATA 080H
0090 10 P1 DATA 090H
00A0 11 P2 DATA 0A0H
00B0 12 P3 DATA 0B0H
00B4 13 T0 BIT 0B0H.4
00D6 14 AC BIT 0D0H.6
00B5 15 T1 BIT 0B0H.5
00AF 16 EA BIT 0A8H.7
00A8 17 IE DATA 0A8H
00B7 18 RD BIT 0B0H.7
00AC 19 ES BIT 0A8H.4
00B8 20 IP DATA 0B8H
0098 21 RI BIT 098H.0
00B2 22 INT0 BIT 0B0H.2
00D7 23 CY BIT 0D0H.7
0099 24 TI BIT 098H.1
00B3 25 INT1 BIT 0B0H.3
00BC 26 PS BIT 0B8H.4
0081 27 SP DATA 081H
00D2 28 OV BIT 0D0H.2
00B6 29 WR BIT 0B0H.6
0099 30 SBUF DATA 099H
0087 31 PCON DATA 087H
0098 32 SCON DATA 098H
0089 33 TMOD DATA 089H
0088 34 TCON DATA 088H
0089 35 IE0 BIT 088H.1
008B 36 IE1 BIT 088H.3
00F0 37 B DATA 0F0H
00E0 38 ACC DATA 0E0H
00A9 39 ET0 BIT 0A8H.1
00AB 40 ET1 BIT 0A8H.3
008D 41 TF0 BIT 088H.5
008F 42 TF1 BIT 088H.7
009A 43 RB8 BIT 098H.2
008C 44 TH0 DATA 08CH
00A8 45 EX0 BIT 0A8H.0
0088 46 IT0 BIT 088H.0
008D 47 TH1 DATA 08DH
009B 48 TB8 BIT 098H.3
00AA 49 EX1 BIT 0A8H.2
008A 50 IT1 BIT 088H.2
00D0 51 P BIT 0D0H.0
009F 52 SM0 BIT 098H.7
008A 53 TL0 DATA 08AH
009E 54 SM1 BIT 098H.6
008B 55 TL1 DATA 08BH
009D 56 SM2 BIT 098H.5
00B9 57 PT0 BIT 0B8H.1
A51 MACRO ASSEMBLER OS_TASK 09/09/2007 21:13:11 PAGE 2
00BB 58 PT1 BIT 0B8H.3
00D3 59 RS0 BIT 0D0H.3
008C 60 TR0 BIT 088H.4
00D4 61 RS1 BIT 0D0H.4
008E 62 TR1 BIT 088H.6
00B8 63 PX0 BIT 0B8H.0
00BA 64 PX1 BIT 0B8H.2
0083 65 DPH DATA 083H
0082 66 DPL DATA 082H
009C 67 REN BIT 098H.4
00B0 68 RXD BIT 0B0H.0
00B1 69 TXD BIT 0B0H.1
00D5 70 F0 BIT 0D0H.5
00D0 71 PSW DATA 0D0H
72 ?PR?_?OSDummy?OS_TASK SEGMENT CODE
73 ?PR?_?OSTaskCreate?OS_TASK SEGMENT CODE
74 ?PR?_?OSTaskQuery?OS_TASK SEGMENT CODE
75 EXTRN IDATA (OSRunning)
76 EXTRN CODE (_?OSTaskStkInit)
77 EXTRN IDATA (OSTCBCur)
78 EXTRN CODE (_?OSSched)
79 EXTRN CODE (_?OSTCBInit)
80 EXTRN XDATA (OSTCBPrioTbl)
81 EXTRN CODE (_?OSTaskCreateHook)
82 EXTRN XDATA (OSTaskCtr)
83 EXTRN CODE (?C?ADDXBP)
84 EXTRN CODE (?C?XBPOFF)
85 EXTRN DATA (?C_XBP)
86 EXTRN CODE (?C?CLDOPTR)
87 EXTRN CODE (?C?COPY)
88 PUBLIC _?OSTaskQuery
89 PUBLIC _?OSTaskCreate
90 ; /*
91 ; *****************************************************************************************
****************
92 ; * uC/OS-II
93 ; * The Real-Time Kernel
94 ; * TASK MANAGEMENT
95 ; *
96 ; * (c) Copyright 1992-1998, Jean J. Labrosse, Plantation, FL
97 ; * All Rights Reserved
98 ; *
99 ; * V2.00
100 ; *
101 ; * File : OS_TASK.C
102 ; * By : Jean J. Labrosse
103 ; *****************************************************************************************
****************
104 ; */
105 ;
106 ; #ifndef OS_MASTER_FILE
107 ; #include "includes.h"
108 ; #endif
109 ;
110 ; /*
111 ; *****************************************************************************************
****************
112 ; * LOCAL FUNCTION PROTOTYPES
113 ; *****************************************************************************************
****************
114 ; */
115 ;
116 ;
117 ; static void OSDummy(void) reentrant;
118 ;
119 ; /*
A51 MACRO ASSEMBLER OS_TASK 09/09/2007 21:13:11 PAGE 3
120 ; *****************************************************************************************
****************
121 ; * DUMMY FUNCTION
122 ; *
123 ; * Description: This function doesn't do anything. It is called by OSTaskDel() to ensure
that interrupts
124 ; * are disabled immediately after they are enabled.
125 ; *
126 ; * Arguments : none
127 ; *
128 ; * Returns : none
129 ; *****************************************************************************************
****************
130 ; */
131 ;
132 ; static void OSDummy (void) reentrant
133
---- 134 RSEG ?PR?_?OSDummy?OS_TASK
0000 135 _?OSDummy:
136 ; SOURCE LINE # 43
137 ; {
138 ; }
139 ; SOURCE LINE # 45
0000 22 140 RET
141 ; END OF _?OSDummy
142
143 ;
144 ; /*$PAGE*/
145 ; /*
146 ; *****************************************************************************************
****************
147 ; * CHANGE PRIORITY OF A TASK
148 ; *
149 ; * Description: This function allows you to change the priority of a task dynamically. No
te that the new
150 ; * priority MUST be available.
151 ; *
152 ; * Arguments : oldp is the old priority
153 ; *
154 ; * newp is the new priority
155 ; *
156 ; * Returns : OS_NO_ERR is the call was successful
157 ; * OS_PRIO_INVALID if the priority you specify is higher that the maximum al
lowed
158 ; * (i.e. >= OS_LOWEST_PRIO)
159 ; * OS_PRIO_EXIST if the new priority already exist.
160 ; * OS_PRIO_ERR there is no task with the specified OLD priority (i.e. th
e OLD task does
161 ; * not exist.
162 ; *****************************************************************************************
****************
163 ; */
164 ;
165 ; #if OS_TASK_CHANGE_PRIO_EN
166 ; INT8U OSTaskChangePrio (INT8U oldprio, INT8U newprio) reentrant
167 ; {
168 ; OS_TCB *ptcb;
169 ; OS_EVENT *pevent;
170 ; INT8U x;
171 ; INT8U y;
172 ; INT8U bitx;
173 ; INT8U bity;
174 ;
175 ;
176 ; if ((oldprio >= OS_LOWEST_PRIO && oldprio != OS_PRIO_SELF) ||
177 ; newprio >= OS_LOWEST_PRIO) {
A51 MACRO ASSEMBLER OS_TASK 09/09/2007 21:13:11 PAGE 4
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?