📄 os_task.ls1
字号:
0093 E4 384 CLR A
0094 F0 385 MOVX @DPTR,A
0095 A3 386 INC DPTR
0096 F0 387 MOVX @DPTR,A
0097 A3 388 INC DPTR
0098 F0 389 MOVX @DPTR,A
0099 A3 390 INC DPTR
009A F0 391 MOVX @DPTR,A
009B A3 392 INC DPTR
009C F0 393 MOVX @DPTR,A
009D A3 394 INC DPTR
009E 120000 F 395 LCALL ?C?LSTKXDATA
00A1 00 396 DB 00H
00A2 00 397 DB 00H
00A3 00 398 DB 00H
00A4 00 399 DB 00H
00A5 900000 F 400 MOV DPTR,#?_OS_TCBInit?BYTE+0DH
00A8 E4 401 CLR A
00A9 F0 402 MOVX @DPTR,A
00AA A3 403 INC DPTR
00AB F0 404 MOVX @DPTR,A
00AC A3 405 INC DPTR
00AD F0 406 MOVX @DPTR,A
00AE A3 407 INC DPTR
00AF F0 408 MOVX @DPTR,A
00B0 A3 409 INC DPTR
00B1 F0 410 MOVX @DPTR,A
00B2 900000 F 411 MOV DPTR,#prio?043
00B5 E0 412 MOVX A,@DPTR
A51 MACRO ASSEMBLER OS_TASK 08/08/2005 11:36:56 PAGE 8
00B6 FF 413 MOV R7,A
00B7 120000 F 414 LCALL _OS_TCBInit
00BA 900000 F 415 MOV DPTR,#err?045
00BD EF 416 MOV A,R7
00BE F0 417 MOVX @DPTR,A
418 ; if (err == OS_NO_ERR) {
419 ; SOURCE LINE # 175
00BF 7015 420 JNZ ?C0002
421 ; OS_ENTER_CRITICAL();
422 ; SOURCE LINE # 176
00C1 C2AF 423 CLR EA
424 ; OSTaskCtr++; /* Increment the #tasks c
ounter */
425 ; SOURCE LINE # 177
00C3 900000 F 426 MOV DPTR,#OSTaskCtr
00C6 E0 427 MOVX A,@DPTR
00C7 04 428 INC A
00C8 F0 429 MOVX @DPTR,A
430 ; OS_EXIT_CRITICAL();
431 ; SOURCE LINE # 178
00C9 D2AF 432 SETB EA
433 ; if (OSRunning == TRUE) { /* Find highest priority task if multitaskin
g has started */
434 ; SOURCE LINE # 179
00CB 7800 F 435 MOV R0,#LOW (OSRunning)
00CD E6 436 MOV A,@R0
00CE B40120 437 CJNE A,#01H,?C0004
438 ; OS_Sched();
439 ; SOURCE LINE # 180
00D1 120000 F 440 LCALL OS_Sched
441 ; }
442 ; SOURCE LINE # 181
443 ; } else {
444 ; SOURCE LINE # 182
00D4 801B 445 SJMP ?C0004
00D6 446 ?C0002:
447 ; OS_ENTER_CRITICAL();
448 ; SOURCE LINE # 183
00D6 C2AF 449 CLR EA
450 ; OSTCBPrioTbl[prio] = (OS_TCB *)0;/* Make this priority available to others
*/
451 ; SOURCE LINE # 184
00D8 900000 F 452 MOV DPTR,#prio?043
00DB E0 453 MOVX A,@DPTR
00DC 75F003 454 MOV B,#03H
00DF A4 455 MUL AB
00E0 2400 F 456 ADD A,#LOW (OSTCBPrioTbl)
00E2 F582 457 MOV DPL,A
00E4 E4 458 CLR A
00E5 3400 F 459 ADDC A,#HIGH (OSTCBPrioTbl)
00E7 F583 460 MOV DPH,A
00E9 E4 461 CLR A
00EA F0 462 MOVX @DPTR,A
00EB A3 463 INC DPTR
00EC F0 464 MOVX @DPTR,A
00ED A3 465 INC DPTR
00EE F0 466 MOVX @DPTR,A
467 ; OS_EXIT_CRITICAL();
468 ; SOURCE LINE # 185
00EF D2AF 469 SETB EA
470 ; }
471 ; SOURCE LINE # 186
00F1 472 ?C0004:
473 ; return (err);
474 ; SOURCE LINE # 187
00F1 900000 F 475 MOV DPTR,#err?045
A51 MACRO ASSEMBLER OS_TASK 08/08/2005 11:36:56 PAGE 9
00F4 E0 476 MOVX A,@DPTR
00F5 FF 477 MOV R7,A
00F6 22 478 RET
479 ; }
480 ; SOURCE LINE # 188
00F7 481 ?C0001:
482 ; OS_EXIT_CRITICAL();
483 ; SOURCE LINE # 189
00F7 D2AF 484 SETB EA
485 ; return (OS_PRIO_EXIST);
486 ; SOURCE LINE # 190
00F9 7F28 487 MOV R7,#028H
488 ; }
489 ; SOURCE LINE # 191
00FB 490 ?C0005:
00FB 22 491 RET
492 ; END OF _OSTaskCreate
493
494 END
A51 MACRO ASSEMBLER OS_TASK 08/08/2005 11:36:56 PAGE 10
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C0001. . . . . . . . . . C ADDR 00F7H R SEG=?PR?_OSTASKCREATE?OS_TASK
?C0002. . . . . . . . . . C ADDR 00D6H R SEG=?PR?_OSTASKCREATE?OS_TASK
?C0004. . . . . . . . . . C ADDR 00F1H R SEG=?PR?_OSTASKCREATE?OS_TASK
?C0005. . . . . . . . . . C ADDR 00FBH R SEG=?PR?_OSTASKCREATE?OS_TASK
?C?ADDXBP . . . . . . . . C ADDR ----- EXT
?C?LSTKXDATA. . . . . . . C ADDR ----- EXT
?PR?_OSTASKCREATE?OS_TASK C SEG 00FCH REL=UNIT
?XD?_OSTASKCREATE?OS_TASK X SEG 000BH REL=UNIT
?_OSTASKCREATE?BYTE . . . X ADDR 0000H R SEG=?XD?_OSTASKCREATE?OS_TASK
?_OS_TCBINIT?BYTE . . . . X ADDR ----- EXT
AC. . . . . . . . . . . . B ADDR 00D0H.6 A
ACC . . . . . . . . . . . D ADDR 00E0H A
B . . . . . . . . . . . . D ADDR 00F0H A
CY. . . . . . . . . . . . B ADDR 00D0H.7 A
DPH . . . . . . . . . . . D ADDR 0083H A
DPL . . . . . . . . . . . D ADDR 0082H A
EA. . . . . . . . . . . . B ADDR 00A8H.7 A
ERR?045 . . . . . . . . . X ADDR 000AH R SEG=?XD?_OSTASKCREATE?OS_TASK
ES. . . . . . . . . . . . B ADDR 00A8H.4 A
ET0 . . . . . . . . . . . B ADDR 00A8H.1 A
ET1 . . . . . . . . . . . B ADDR 00A8H.3 A
EX0 . . . . . . . . . . . B ADDR 00A8H.0 A
EX1 . . . . . . . . . . . B ADDR 00A8H.2 A
F0. . . . . . . . . . . . B ADDR 00D0H.5 A
IE. . . . . . . . . . . . D ADDR 00A8H A
IE0 . . . . . . . . . . . B ADDR 0088H.1 A
IE1 . . . . . . . . . . . B ADDR 0088H.3 A
INT0. . . . . . . . . . . B ADDR 00B0H.2 A
INT1. . . . . . . . . . . B ADDR 00B0H.3 A
IP. . . . . . . . . . . . D ADDR 00B8H A
IT0 . . . . . . . . . . . B ADDR 0088H.0 A
IT1 . . . . . . . . . . . B ADDR 0088H.2 A
OSRUNNING . . . . . . . . I ADDR ----- EXT
OSTASKCTR . . . . . . . . X ADDR ----- EXT
OSTCBPRIOTBL. . . . . . . X ADDR ----- EXT
OS_SCHED. . . . . . . . . C ADDR ----- EXT
OS_TASK . . . . . . . . . N NUMB -----
OV. . . . . . . . . . . . B ADDR 00D0H.2 A
P . . . . . . . . . . . . B ADDR 00D0H.0 A
P0. . . . . . . . . . . . D ADDR 0080H A
P1. . . . . . . . . . . . D ADDR 0090H A
P2. . . . . . . . . . . . D ADDR 00A0H A
P3. . . . . . . . . . . . D ADDR 00B0H A
PCON. . . . . . . . . . . D ADDR 0087H A
PPDATA?041. . . . . . . . X ADDR 0003H R SEG=?XD?_OSTASKCREATE?OS_TASK
PRIO?043. . . . . . . . . X ADDR 0009H R SEG=?XD?_OSTASKCREATE?OS_TASK
PS. . . . . . . . . . . . B ADDR 00B8H.4 A
PSW . . . . . . . . . . . D ADDR 00D0H A
PT0 . . . . . . . . . . . B ADDR 00B8H.1 A
PT1 . . . . . . . . . . . B ADDR 00B8H.3 A
PTOS?042. . . . . . . . . X ADDR 0006H R SEG=?XD?_OSTASKCREATE?OS_TASK
PX0 . . . . . . . . . . . B ADDR 00B8H.0 A
PX1 . . . . . . . . . . . B ADDR 00B8H.2 A
RB8 . . . . . . . . . . . B ADDR 0098H.2 A
RD. . . . . . . . . . . . B ADDR 00B0H.7 A
REN . . . . . . . . . . . B ADDR 0098H.4 A
RI. . . . . . . . . . . . B ADDR 0098H.0 A
RS0 . . . . . . . . . . . B ADDR 00D0H.3 A
RS1 . . . . . . . . . . . B ADDR 00D0H.4 A
RXD . . . . . . . . . . . B ADDR 00B0H.0 A
A51 MACRO ASSEMBLER OS_TASK 08/08/2005 11:36:56 PAGE 11
SBUF. . . . . . . . . . . D ADDR 0099H A
SCON. . . . . . . . . . . D ADDR 0098H A
SM0 . . . . . . . . . . . B ADDR 0098H.7 A
SM1 . . . . . . . . . . . B ADDR 0098H.6 A
SM2 . . . . . . . . . . . B ADDR 0098H.5 A
SP. . . . . . . . . . . . D ADDR 0081H A
T0. . . . . . . . . . . . B ADDR 00B0H.4 A
T1. . . . . . . . . . . . B ADDR 00B0H.5 A
TASK?040. . . . . . . . . X ADDR 0000H R SEG=?XD?_OSTASKCREATE?OS_TASK
TB8 . . . . . . . . . . . B ADDR 0098H.3 A
TCON. . . . . . . . . . . D ADDR 0088H A
TF0 . . . . . . . . . . . B ADDR 0088H.5 A
TF1 . . . . . . . . . . . B ADDR 0088H.7 A
TH0 . . . . . . . . . . . D ADDR 008CH A
TH1 . . . . . . . . . . . D ADDR 008DH A
TI. . . . . . . . . . . . B ADDR 0098H.1 A
TL0 . . . . . . . . . . . D ADDR 008AH A
TL1 . . . . . . . . . . . D ADDR 008BH A
TMOD. . . . . . . . . . . D ADDR 0089H A
TR0 . . . . . . . . . . . B ADDR 0088H.4 A
TR1 . . . . . . . . . . . B ADDR 0088H.6 A
TXD . . . . . . . . . . . B ADDR 00B0H.1 A
WR. . . . . . . . . . . . B ADDR 00B0H.6 A
_?OSTASKSTKINIT . . . . . C ADDR ----- EXT
_OSTASKCREATE . . . . . . C ADDR 0000H R SEG=?PR?_OSTASKCREATE?OS_TASK
_OS_TCBINIT . . . . . . . C ADDR ----- EXT
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -