os_task.ls1

来自「在51单片机上移植成功的UCOS-II操作系统源代码,包括源代码及相关注释」· LS1 代码 · 共 1,019 行 · 第 1/5 页

LS1
1,019
字号

0053 2400     F      343             ADD     A,#LOW (OSTCBPrioTbl)
0055 F582            344             MOV     DPL,A
0057 E4              345             CLR     A
0058 3400     F      346             ADDC    A,#HIGH (OSTCBPrioTbl)
005A F583            347             MOV     DPH,A
005C EB              348             MOV     A,R3
005D F0              349             MOVX    @DPTR,A
005E A3              350             INC     DPTR
005F EA              351             MOV     A,R2
0060 F0              352             MOVX    @DPTR,A
0061 A3              353             INC     DPTR
0062 E9              354             MOV     A,R1
0063 F0              355             MOVX    @DPTR,A
                     356     ;                                              /* ... the same thing until task is created.
                                           */
                     357     ;         OS_EXIT_CRITICAL();
                     358                             ; SOURCE LINE # 186
0064 D2AF            359             SETB    EA
                     360     ;         psp = (void *)OSTaskStkInit(task, ppdata, ptos, 0); /* Initialize the task's stac
                             k              */
                     361                             ; SOURCE LINE # 187
0066 90FFFE          362             MOV     DPTR,#0FFFEH
0069 120000   F      363             LCALL   ?C?ADDXBP
006C E4              364             CLR     A
006D F0              365             MOVX    @DPTR,A
006E A3              366             INC     DPTR
006F F0              367             MOVX    @DPTR,A
0070 90000C          368             MOV     DPTR,#0CH
0073 120000   F      369             LCALL   ?C?XBPOFF
0076 E0              370             MOVX    A,@DPTR
0077 FB              371             MOV     R3,A
0078 A3              372             INC     DPTR
0079 E0              373             MOVX    A,@DPTR
007A FA              374             MOV     R2,A
007B A3              375             INC     DPTR
007C E0              376             MOVX    A,@DPTR
007D F9              377             MOV     R1,A
007E 90FFFD          378             MOV     DPTR,#0FFFDH
0081 120000   F      379             LCALL   ?C?ADDXBP
0084 EB              380             MOV     A,R3
0085 F0              381             MOVX    @DPTR,A
0086 A3              382             INC     DPTR
0087 EA              383             MOV     A,R2
0088 F0              384             MOVX    @DPTR,A
0089 A3              385             INC     DPTR
008A E9              386             MOV     A,R1
008B F0              387             MOVX    @DPTR,A
008C 90000C          388             MOV     DPTR,#0CH
008F 120000   F      389             LCALL   ?C?XBPOFF
0092 E0              390             MOVX    A,@DPTR
0093 FB              391             MOV     R3,A
0094 A3              392             INC     DPTR
0095 E0              393             MOVX    A,@DPTR
0096 FA              394             MOV     R2,A
0097 A3              395             INC     DPTR
0098 E0              396             MOVX    A,@DPTR
0099 F9              397             MOV     R1,A
009A 90FFFD          398             MOV     DPTR,#0FFFDH
009D 120000   F      399             LCALL   ?C?ADDXBP
00A0 EB              400             MOV     A,R3
00A1 F0              401             MOVX    @DPTR,A
00A2 A3              402             INC     DPTR
00A3 EA              403             MOV     A,R2
00A4 F0              404             MOVX    @DPTR,A
00A5 A3              405             INC     DPTR
00A6 E9              406             MOV     A,R1
A51 MACRO ASSEMBLER  OS_TASK                                                              09/09/2007 21:13:11 PAGE     8

00A7 F0              407             MOVX    @DPTR,A
00A8 90000C          408             MOV     DPTR,#0CH
00AB 120000   F      409             LCALL   ?C?XBPOFF
00AE E0              410             MOVX    A,@DPTR
00AF FB              411             MOV     R3,A
00B0 A3              412             INC     DPTR
00B1 E0              413             MOVX    A,@DPTR
00B2 FA              414             MOV     R2,A
00B3 A3              415             INC     DPTR
00B4 E0              416             MOVX    A,@DPTR
00B5 F9              417             MOV     R1,A
00B6 120000   F      418             LCALL   _?OSTaskStkInit
00B9 850083   F      419             MOV     DPH,?C_XBP
00BC 850082   F      420             MOV     DPL,?C_XBP+01H
00BF EB              421             MOV     A,R3
00C0 F0              422             MOVX    @DPTR,A
00C1 A3              423             INC     DPTR
00C2 EA              424             MOV     A,R2
00C3 F0              425             MOVX    @DPTR,A
00C4 A3              426             INC     DPTR
00C5 E9              427             MOV     A,R1
00C6 F0              428             MOVX    @DPTR,A
                     429     ;         err = OSTCBInit(prio, psp, (void *)0, 0, 0, (void *)0, 0);         
                     430                             ; SOURCE LINE # 188
00C7 90FFFE          431             MOV     DPTR,#0FFFEH
00CA 120000   F      432             LCALL   ?C?ADDXBP
00CD E4              433             CLR     A
00CE F0              434             MOVX    @DPTR,A
00CF A3              435             INC     DPTR
00D0 F0              436             MOVX    @DPTR,A
00D1 FB              437             MOV     R3,A
00D2 FA              438             MOV     R2,A
00D3 F9              439             MOV     R1,A
00D4 90FFFD          440             MOV     DPTR,#0FFFDH
00D7 120000   F      441             LCALL   ?C?ADDXBP
00DA EB              442             MOV     A,R3
00DB F0              443             MOVX    @DPTR,A
00DC A3              444             INC     DPTR
00DD EA              445             MOV     A,R2
00DE F0              446             MOVX    @DPTR,A
00DF A3              447             INC     DPTR
00E0 E9              448             MOV     A,R1
00E1 F0              449             MOVX    @DPTR,A
00E2 90FFFE          450             MOV     DPTR,#0FFFEH
00E5 120000   F      451             LCALL   ?C?ADDXBP
00E8 E4              452             CLR     A
00E9 F0              453             MOVX    @DPTR,A
00EA A3              454             INC     DPTR
00EB F0              455             MOVX    @DPTR,A
00EC 90FFFE          456             MOV     DPTR,#0FFFEH
00EF 120000   F      457             LCALL   ?C?ADDXBP
00F2 E4              458             CLR     A
00F3 F0              459             MOVX    @DPTR,A
00F4 A3              460             INC     DPTR
00F5 F0              461             MOVX    @DPTR,A
00F6 FB              462             MOV     R3,A
00F7 FA              463             MOV     R2,A
00F8 F9              464             MOV     R1,A
00F9 90FFFD          465             MOV     DPTR,#0FFFDH
00FC 120000   F      466             LCALL   ?C?ADDXBP
00FF EB              467             MOV     A,R3
0100 F0              468             MOVX    @DPTR,A
0101 A3              469             INC     DPTR
0102 EA              470             MOV     A,R2
0103 F0              471             MOVX    @DPTR,A
0104 A3              472             INC     DPTR
A51 MACRO ASSEMBLER  OS_TASK                                                              09/09/2007 21:13:11 PAGE     9

0105 E9              473             MOV     A,R1
0106 F0              474             MOVX    @DPTR,A
0107 90000C          475             MOV     DPTR,#0CH
010A 120000   F      476             LCALL   ?C?XBPOFF
010D E0              477             MOVX    A,@DPTR
010E FB              478             MOV     R3,A
010F A3              479             INC     DPTR
0110 E0              480             MOVX    A,@DPTR
0111 FA              481             MOV     R2,A
0112 A3              482             INC     DPTR
0113 E0              483             MOVX    A,@DPTR
0114 F9              484             MOV     R1,A
0115 900019          485             MOV     DPTR,#019H
0118 120000   F      486             LCALL   ?C?XBPOFF
011B E0              487             MOVX    A,@DPTR
011C FF              488             MOV     R7,A
011D 120000   F      489             LCALL   _?OSTCBInit
0120 900003          490             MOV     DPTR,#03H
0123 120000   F      491             LCALL   ?C?XBPOFF
0126 EF              492             MOV     A,R7
0127 F0              493             MOVX    @DPTR,A
                     494     ;         if (err == OS_NO_ERR) {
                     495                             ; SOURCE LINE # 189
0128 900003          496             MOV     DPTR,#03H
012B 120000   F      497             LCALL   ?C?XBPOFF
012E E0              498             MOVX    A,@DPTR
012F 7033            499             JNZ     ?C0005
                     500     ;             OS_ENTER_CRITICAL();
                     501                             ; SOURCE LINE # 190
0131 C2AF            502             CLR     EA
                     503     ;             OSTaskCtr++;                                   /* Increment the #tasks counte
                             r             */
                     504                             ; SOURCE LINE # 191
0133 900000   F      505             MOV     DPTR,#OSTaskCtr
0136 E0              506             MOVX    A,@DPTR
0137 04              507             INC     A
0138 F0              508             MOVX    @DPTR,A
                     509     ;             OSTaskCreateHook(OSTCBPrioTbl[prio]);          /* Call user defined hook     
                                           */
                     510                             ; SOURCE LINE # 192
0139 90000D          511             MOV     DPTR,#0DH
013C 120000   F      512             LCALL   ?C?XBPOFF
013F E0              513             MOVX    A,@DPTR
0140 75F003          514             MOV     B,#03H
0143 A4              515             MUL     AB
0144 2400     F      516             ADD     A,#LOW (OSTCBPrioTbl)
0146 F582            517             MOV     DPL,A
0148 E4              518             CLR     A
0149 3400     F      519             ADDC    A,#HIGH (OSTCBPrioTbl)
014B F583            520             MOV     DPH,A
014D E0              521             MOVX    A,@DPTR
014E FB              522             MOV     R3,A
014F A3              523             INC     DPTR
0150 E0              524             MOVX    A,@DPTR
0151 FA              525             MOV     R2,A
0152 A3              526             INC     DPTR
0153 E0              527             MOVX    A,@DPTR
0154 F9              528             MOV     R1,A
0155 120000   F      529             LCALL   _?OSTaskCreateHook
                     530     ;             OS_EXIT_CRITICAL();
                     531                             ; SOURCE LINE # 193
0158 D2AF            532             SETB    EA
                     533     ;             if (OSRunning) {                 /* Find highest priority task if multitaskin
                             g has started */
                     534                             ; SOURCE LINE # 194
015A 7800     F      535             MOV     R0,#LOW (OSRunning)
A51 MACRO ASSEMBLER  OS_TASK                                                              09/09/2007 21:13:11 PAGE    10

⌨️ 快捷键说明

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