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

📄 os_task.ls1

📁 uCOS-II_2.52在51上的移植程序
💻 LS1
📖 第 1 页 / 共 3 页
字号:
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 + -