📄 os_cpu_c.ls1
字号:
0000 210 _?OSTaskCreateHook:
211 USING 0
212 ; SOURCE LINE # 72
0000 90FFFD 213 MOV DPTR,#0FFFDH
0003 120000 F 214 LCALL ?C?ADDXBP
0006 120000 F 215 LCALL ?C?PSTXDATA
216 ; {
217 ; ptcb = ptcb; /* Prevent compiler warning
*/
218 ; SOURCE LINE # 74
0009 850083 F 219 MOV DPH,?C_XBP
000C 850082 F 220 MOV DPL,?C_XBP+01H
000F 120000 F 221 LCALL ?C?PLDXDATA
0012 850083 F 222 MOV DPH,?C_XBP
0015 850082 F 223 MOV DPL,?C_XBP+01H
0018 120000 F 224 LCALL ?C?PSTXDATA
225 ; }
226 ; SOURCE LINE # 75
001B 900003 227 MOV DPTR,#03H
001E 020000 F 228 LJMP ?C?ADDXBP
229 ; END OF _?OSTaskCreateHook
230
231 ; #endif
232 ;
233 ;
234 ; /*
235 ; *****************************************************************************************
****************
236 ; * TASK DELETION HOOK
237 ; *
238 ; * Description: This function is called when a task is deleted.
239 ; *
240 ; * Arguments : ptcb is a pointer to the task control block of the task being deleted.
241 ; *
242 ; * Note(s) : 1) Interrupts are disabled during this call.
243 ; *****************************************************************************************
****************
244 ; */
A51 MACRO ASSEMBLER OS_CPU_C 07/05/2005 11:17:07 PAGE 5
245 ; #if OS_CPU_HOOKS_EN > 0
246 ; void OSTaskDelHook (OS_TCB *ptcb) reentrant
247
---- 248 RSEG ?PR?_?OSTaskDelHook?OS_CPU_C
0000 249 _?OSTaskDelHook:
250 USING 0
251 ; SOURCE LINE # 91
0000 90FFFD 252 MOV DPTR,#0FFFDH
0003 120000 F 253 LCALL ?C?ADDXBP
0006 120000 F 254 LCALL ?C?PSTXDATA
255 ; {
256 ; ptcb = ptcb; /* Prevent compiler warning
*/
257 ; SOURCE LINE # 93
0009 850083 F 258 MOV DPH,?C_XBP
000C 850082 F 259 MOV DPL,?C_XBP+01H
000F 120000 F 260 LCALL ?C?PLDXDATA
0012 850083 F 261 MOV DPH,?C_XBP
0015 850082 F 262 MOV DPL,?C_XBP+01H
0018 120000 F 263 LCALL ?C?PSTXDATA
264 ; }
265 ; SOURCE LINE # 94
001B 900003 266 MOV DPTR,#03H
001E 020000 F 267 LJMP ?C?ADDXBP
268 ; END OF _?OSTaskDelHook
269
270 ; #endif
271 ;
272 ; /*
273 ; *****************************************************************************************
****************
274 ; * IDLE TASK HOOK
275 ; *
276 ; * Description: This function is called by the idle task. This hook has been added to all
ow you to do
277 ; * such things as STOP the CPU to conserve power.
278 ; *
279 ; * Arguments : none
280 ; *
281 ; * Note(s) : 1) Interrupts are enabled during this call.
282 ; *****************************************************************************************
****************
283 ; */
284 ; #if OS_CPU_HOOKS_EN > 0 && OS_VERSION >= 251
285 ; void OSTaskIdleHook (void) reentrant
286
---- 287 RSEG ?PR?_?OSTaskIdleHook?OS_CPU_C
0000 288 _?OSTaskIdleHook:
289 ; SOURCE LINE # 110
290 ; {
291 ; }
292 ; SOURCE LINE # 112
0000 22 293 RET
294 ; END OF _?OSTaskIdleHook
295
296 ; #endif
297 ;
298 ; /*
299 ; *****************************************************************************************
****************
300 ; * STATISTIC TASK HOOK
301 ; *
302 ; * Description: This function is called every second by uC/OS-II's statistics task. This
allows your
303 ; * application to add functionality to the statistics task.
304 ; *
A51 MACRO ASSEMBLER OS_CPU_C 07/05/2005 11:17:07 PAGE 6
305 ; * Arguments : none
306 ; *****************************************************************************************
****************
307 ; */
308 ;
309 ; #if OS_CPU_HOOKS_EN > 0
310 ; void OSTaskStatHook (void) reentrant
311
---- 312 RSEG ?PR?_?OSTaskStatHook?OS_CPU_C
0000 313 _?OSTaskStatHook:
314 ; SOURCE LINE # 127
315 ; {
316 ; }
317 ; SOURCE LINE # 129
0000 22 318 RET
319 ; END OF _?OSTaskStatHook
320
321 ; #endif
322 ;
323 ; /*$PAGE*/
324 ; /*
325 ; *****************************************************************************************
****************
326 ; * OSTaskStkInit
327 ; *
328 ; * Description: Init stack before task running.
329 ; *
330 ; * Arguments : task is a pointer to the task code
331 ; *
332 ; * pdata is a pointer to a user supplied data area that will be passe
d to the task
333 ; * when the task first executes.
334 ; *
335 ; * ptos is a pointer to the top of stack. It is assumed that 'ptos'
points to
336 ; * a 'free' entry on the task stack. If OS_STK_GROWTH is set t
o 1 then
337 ; * 'ptos' will contain the HIGHEST valid address of the stack.
Similarly, if
338 ; * OS_STK_GROWTH is set to 0, the 'ptos' will contains the LOWE
ST valid address
339 ; * of the stack.
340 ; *
341 ; * opt specifies options that can be used to alter the behavior of
OSTaskStkInit().
342 ; * (see uCOS_II.H for OS_TASK_OPT_???).
343 ; *
344 ; * Returns : Always returns the bottom of stack.
345 ; *
346 ; * Note(s) : 1) stack stored as following format
347 ;
348 ; ; CONTENT
START POSITION IN OSTCBStk
349 ; ; ----------
----------------------
350 ; ; AR7
351 ; ; AR6
352 ; ; AR5
353 ; ; AR4
354 ; ; AR3
355 ; ; AR2
356 ; ; AR1
357 ; ; AR0
358 ; ; PSW
359 ; ; DPL
360 ; ; DPH
A51 MACRO ASSEMBLER OS_CPU_C 07/05/2005 11:17:07 PAGE 7
361 ; ; B
362 ; ; ACC
363 ; ; HARDWARE STACK CONTENT(NOT INCLUDE REGISTERS) 2+SmltStkSize
364 ; ; HARDWARE STACK SIZE(INCLUDE REGISTERS) 1+SmltStkSi
ze
365 ; ; SIMULATED STACK CONTENT
1
366 ; ; ?C_IBP
0
367 ;
368 ; *****************************************************************************************
****************
369 ; */
370 ; OS_STK *OSTaskStkInit (void (*task)(void *pd) reentrant, void *os_pdata, OS_STK *ptos, I
NT16U opt) reentrant
371
---- 372 RSEG ?PR?_?OSTaskStkInit?OS_CPU_C
0000 373 _?OSTaskStkInit:
374 USING 0
375 ; SOURCE LINE # 179
0000 90FFFD 376 MOV DPTR,#0FFFDH
0003 120000 F 377 LCALL ?C?ADDXBP
0006 120000 F 378 LCALL ?C?PSTXDATA
0009 90FFFD 379 MOV DPTR,#0FFFDH
000C 120000 F 380 LCALL ?C?ADDXBP
381 ; {
382 ; OS_STK *stk;
383 ;
384 ; os_pdata = os_pdata;
385 ; SOURCE LINE # 183
000F 900006 386 MOV DPTR,#06H
0012 120000 F 387 LCALL ?C?XBPOFF
0015 120000 F 388 LCALL ?C?PLDXDATA
0018 900006 389 MOV DPTR,#06H
001B 120000 F 390 LCALL ?C?XBPOFF
001E 120000 F 391 LCALL ?C?PSTXDATA
392 ; opt = opt; //opt没被用到,保留此语句防止告警产生
393 ; SOURCE LINE # 184
0021 90000C 394 MOV DPTR,#0CH
0024 120000 F 395 LCALL ?C?XBPOFF
0027 E0 396 MOVX A,@DPTR
0028 FE 397 MOV R6,A
0029 A3 398 INC DPTR
002A E0 399 MOVX A,@DPTR
002B FF 400 MOV R7,A
002C 90000C 401 MOV DPTR,#0CH
002F 120000 F 402 LCALL ?C?XBPOFF
0032 EE 403 MOV A,R6
0033 F0 404 MOVX @DPTR,A
0034 A3 405 INC DPTR
0035 EF 406 MOV A,R7
0036 F0 407 MOVX @DPTR,A
408 ;
409 ; stk = (OS_STK *)ptos; //用户堆栈最低有效地址
410 ; SOURCE LINE # 186
0037 900009 411 MOV DPTR,#09H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -