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

📄 os_time.ls1

📁 UCOS在51上的移植,绝对经典!可以较少开发人员的工作量
💻 LS1
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  OS_TIME                                                              05/17/2005 11:20:00 PAGE     1


MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN OS_TIME.OBJ
ASSEMBLER INVOKED BY: D:\tools\Keil\C51\BIN\A51.EXE OS_TIME.src PR(.\OS_TIME.ls1) EP DEBUG

LOC  OBJ            LINE     SOURCE

                       1     ; .\OS_TIME.SRC generated from: SOURCE\OS_TIME.C
                       2     ; COMPILER INVOKED BY:
                       3     ;        D:\tools\Keil\C51\BIN\C51.EXE SOURCE\OS_TIME.C LARGE OPTIMIZE(SIZE) REGFILE(.\OS_A
                             T89C55WD.ORC) BROWSE NOINTPROMOTE INCDIR(D:\MY\empolder\uCOS-II\MCS-51\AT89C55WD\Keil 7_5\)
                              DEBUG OBJECTEXTEND NOPRINT SRC(.\OS_TIME.SRC)
                       4     
                       5     $nomod51 
                       6     
                       7     NAME    OS_TIME
                       8     
  0080                 9     P0      DATA    080H
  0090                10     P1      DATA    090H
  00A0                11     P2      DATA    0A0H
  00B0                12     P3      DATA    0B0H
  00D6                13     AC      BIT     0D0H.6
  00B4                14     T0      BIT     0B0H.4
  0091                15     T2_EX   BIT     090H.1
  00B5                16     T1      BIT     0B0H.5
  00AF                17     EA      BIT     0A8H.7
  0090                18     T2      BIT     090H.0
  00A8                19     IE      DATA    0A8H
  0080                20     P0_0    BIT     080H.0
  0090                21     P1_0    BIT     090H.0
  0081                22     P0_1    BIT     080H.1
  00A0                23     P2_0    BIT     0A0H.0
  0091                24     P1_1    BIT     090H.1
  0082                25     P0_2    BIT     080H.2
  00A1                26     P2_1    BIT     0A0H.1
  0092                27     P1_2    BIT     090H.2
  0083                28     P0_3    BIT     080H.3
  00A2                29     P2_2    BIT     0A0H.2
  0093                30     P1_3    BIT     090H.3
  0084                31     P0_4    BIT     080H.4
  00A3                32     P2_3    BIT     0A0H.3
  0094                33     P1_4    BIT     090H.4
  0085                34     P0_5    BIT     080H.5
  00CE                35     EXF2    BIT     0C8H.6
  00B7                36     RD      BIT     0B0H.7
  00A4                37     P2_4    BIT     0A0H.4
  0095                38     P1_5    BIT     090H.5
  0086                39     P0_6    BIT     080H.6
  00A5                40     P2_5    BIT     0A0H.5
  0096                41     P1_6    BIT     090H.6
  0087                42     P0_7    BIT     080H.7
  00AC                43     ES      BIT     0A8H.4
  00A6                44     P2_6    BIT     0A0H.6
  0097                45     P1_7    BIT     090H.7
  00A7                46     P2_7    BIT     0A0H.7
  00B8                47     IP      DATA    0B8H
  0098                48     RI      BIT     098H.0
  00D7                49     CY      BIT     0D0H.7
  00B2                50     INT0    BIT     0B0H.2
  0099                51     TI      BIT     098H.1
  00B3                52     INT1    BIT     0B0H.3
  00CB                53     RCAP2H  DATA    0CBH
  00BC                54     PS      BIT     0B8H.4
  0081                55     SP      DATA    081H
  00D2                56     OV      BIT     0D0H.2
A51 MACRO ASSEMBLER  OS_TIME                                                              05/17/2005 11:20:00 PAGE     2

  00CA                57     RCAP2L  DATA    0CAH
  00C9                58     C_T2    BIT     0C8H.1
  00B6                59     WR      BIT     0B0H.6
  00CD                60     RCLK    BIT     0C8H.5
  00CC                61     TCLK    BIT     0C8H.4
  0087                62     PCON    DATA    087H
  0099                63     SBUF    DATA    099H
  0098                64     SCON    DATA    098H
  0089                65     TMOD    DATA    089H
  0088                66     TCON    DATA    088H
  0089                67     IE0     BIT     088H.1
  008B                68     IE1     BIT     088H.3
  00F0                69     B       DATA    0F0H
  00C8                70     CP_RL2  BIT     0C8H.0
  00E0                71     ACC     DATA    0E0H
  00A9                72     ET0     BIT     0A8H.1
  008D                73     TF0     BIT     088H.5
  00AB                74     ET1     BIT     0A8H.3
  008F                75     TF1     BIT     088H.7
  00AD                76     ET2     BIT     0A8H.5
  00CF                77     TF2     BIT     0C8H.7
  009A                78     RB8     BIT     098H.2
  008C                79     TH0     DATA    08CH
  0088                80     IT0     BIT     088H.0
  00A8                81     EX0     BIT     0A8H.0
  008D                82     TH1     DATA    08DH
  008A                83     IT1     BIT     088H.2
  00AA                84     EX1     BIT     0A8H.2
  009B                85     TB8     BIT     098H.3
  00CD                86     TH2     DATA    0CDH
  00D0                87     P       BIT     0D0H.0
  009F                88     SM0     BIT     098H.7
  008A                89     TL0     DATA    08AH
  009E                90     SM1     BIT     098H.6
  008B                91     TL1     DATA    08BH
  009D                92     SM2     BIT     098H.5
  00CC                93     TL2     DATA    0CCH
  00B9                94     PT0     BIT     0B8H.1
  00BB                95     PT1     BIT     0B8H.3
  00D3                96     RS0     BIT     0D0H.3
  008C                97     TR0     BIT     088H.4
  00BD                98     PT2     BIT     0B8H.5
  00D4                99     RS1     BIT     0D0H.4
  008E               100     TR1     BIT     088H.6
  00CA               101     TR2     BIT     0C8H.2
  00B8               102     PX0     BIT     0B8H.0
  00BA               103     PX1     BIT     0B8H.2
  0083               104     DPH     DATA    083H
  0082               105     DPL     DATA    082H
  00CB               106     EXEN2   BIT     0C8H.3
  009C               107     REN     BIT     098H.4
  00C9               108     T2MOD   DATA    0C9H
  00C8               109     T2CON   DATA    0C8H
  00A2               110     DPS     DATA    0A2H
  00B0               111     RXD     BIT     0B0H.0
  00B1               112     TXD     BIT     0B0H.1
  00D5               113     F0      BIT     0D0H.5
  00D1               114     F1      BIT     0D0H.1
  00D0               115     PSW     DATA    0D0H
                     116     ?PR?_?OSTimeDly?OS_TIME                  SEGMENT CODE 
                     117     ?PR?_?OSTimeDlyHMSM?OS_TIME              SEGMENT CODE 
                     118             EXTRN   XDATA (OSRdyGrp)
                     119             EXTRN   CODE (_?OS_Sched)
                     120             EXTRN   XDATA (OSTCBCur)
                     121             EXTRN   XDATA (OSRdyTbl)
                     122             EXTRN   CODE (?C?ADDXBP)
A51 MACRO ASSEMBLER  OS_TIME                                                              05/17/2005 11:20:00 PAGE     3

                     123             EXTRN   DATA (?C_XBP)
                     124             EXTRN   CODE (?C?PLDXDATA)
                     125             EXTRN   CODE (?C?CLDOPTR)
                     126             EXTRN   CODE (?C?ISTOPTR)
                     127             EXTRN   CODE (?C?XBPOFF)
                     128             EXTRN   CODE (?C?LMUL)
                     129             EXTRN   CODE (?C?LADD)
                     130             EXTRN   CODE (?C?ULDIV)
                     131             EXTRN   CODE (?C?LSTXDATA)
                     132             EXTRN   CODE (?C?LLDXDATA)
                     133             EXTRN   CODE (?C?IILDX)
                     134             PUBLIC  _?OSTimeDlyHMSM
                     135             PUBLIC  _?OSTimeDly
                     136     ; /*
                     137     ; *****************************************************************************************
                             ****************
                     138     ; *                                                uC/OS-II
                     139     ; *                                          The Real-Time Kernel
                     140     ; *                                             TIME MANAGEMENT
                     141     ; *
                     142     ; *                          (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
                     143     ; *                                           All Rights Reserved
                     144     ; *
                     145     ; * File : OS_TIME.C
                     146     ; * By   : Jean J. Labrosse
                     147     ; *****************************************************************************************
                             ****************
                     148     ; */
                     149     ; 
                     150     ; #ifndef  OS_MASTER_FILE
                     151     ; #include "includes.h"
                     152     ; #endif
                     153     ; 
                     154     ; /*
                     155     ; *****************************************************************************************
                             ****************
                     156     ; *                                DELAY TASK 'n' TICKS   (n from 0 to 65535)
                     157     ; *
                     158     ; * Description: This function is called to delay execution of the currently running task u
                             ntil the
                     159     ; *              specified number of system ticks expires.  This, of course, directly equat
                             es to delaying
                     160     ; *              the current task for some time to expire.  No delay will result If the spe
                             cified delay is
                     161     ; *              0.  If the specified delay is greater than 0 then, a context switch will r
                             esult.
                     162     ; *
                     163     ; * Arguments  : ticks     is the time delay that the task will be suspended in number of c
                             lock 'ticks'.
                     164     ; *                        Note that by specifying 0, the task will not be delayed.
                     165     ; *
                     166     ; * Returns    : none
                     167     ; *****************************************************************************************
                             ****************
                     168     ; */
                     169     ; 
                     170     ; void  OSTimeDly (INT16U ticks)LG_REENTRANT
                     171     
----                 172             RSEG  ?PR?_?OSTimeDly?OS_TIME
0000                 173     _?OSTimeDly:
                     174             USING   0
                     175                             ; SOURCE LINE # 35
0000 90FFFE          176             MOV     DPTR,#0FFFEH
0003 120000   F      177             LCALL   ?C?ADDXBP
0006 EE              178             MOV     A,R6
0007 F0              179             MOVX    @DPTR,A
A51 MACRO ASSEMBLER  OS_TIME                                                              05/17/2005 11:20:00 PAGE     4

0008 A3              180             INC     DPTR
0009 EF              181             MOV     A,R7
000A F0              182             MOVX    @DPTR,A
                     183     ; {
                     184     ; #if OS_CRITICAL_METHOD == 3                      /* Allocate storage for CPU status regis
                             ter           */
                     185     ;     OS_CPU_SR  cpu_sr;
                     186     ; #endif    
                     187     ; 
                     188     ; 
                     189     ;     if (ticks > 0) {                                                      /* 0 means no d
                             elay!         */
                     190                             ; SOURCE LINE # 42
000B 850083   F      191             MOV     DPH,?C_XBP
000E 850082   F      192             MOV     DPL,?C_XBP+01H
0011 E0              193             MOVX    A,@DPTR
0012 FC              194             MOV     R4,A
0013 A3              195             INC     DPTR
0014 E0              196             MOVX    A,@DPTR
0015 FD              197             MOV     R5,A
0016 D3              198             SETB    C
0017 9400            199             SUBB    A,#00H
0019 EC              200             MOV     A,R4
001A 9400            201             SUBB    A,#00H
001C 405B            202             JC      ?C0003
                     203     ;         OS_ENTER_CRITICAL();
                     204                             ; SOURCE LINE # 43
001E C2AF            205             CLR     EA
                     206     ;         if ((OSRdyTbl[OSTCBCur->OSTCBY] &= ~OSTCBCur->OSTCBBitX) == 0) {  /* Delay curren
                             t task        */
                     207                             ; SOURCE LINE # 44
0020 900000   F      208             MOV     DPTR,#OSTCBCur
0023 120000   F      209             LCALL   ?C?PLDXDATA
0026 900011          210             MOV     DPTR,#011H
0029 120000   F      211             LCALL   ?C?CLDOPTR
002C 2400     F      212             ADD     A,#LOW (OSRdyTbl)
002E F582            213             MOV     DPL,A
0030 E4              214             CLR     A
0031 3400     F      215             ADDC    A,#HIGH (OSRdyTbl)
0033 F583            216             MOV     DPH,A
0035 C083            217             PUSH    DPH
0037 C082            218             PUSH    DPL
0039 E0              219             MOVX    A,@DPTR
003A FF              220             MOV     R7,A
003B 900000   F      221             MOV     DPTR,#OSTCBCur
003E 120000   F      222             LCALL   ?C?PLDXDATA
0041 900012          223             MOV     DPTR,#012H
0044 120000   F      224             LCALL   ?C?CLDOPTR
0047 F4              225             CPL     A
0048 FE              226             MOV     R6,A
0049 EF              227             MOV     A,R7
004A 5E              228             ANL     A,R6
004B D082            229             POP     DPL
004D D083            230             POP     DPH
004F F0              231             MOVX    @DPTR,A
0050 7013            232             JNZ     ?C0002
                     233     ;             OSRdyGrp &= ~OSTCBCur->OSTCBBitY;
                     234                             ; SOURCE LINE # 45
0052 900000   F      235             MOV     DPTR,#OSRdyGrp
0055 E0              236             MOVX    A,@DPTR
0056 FF              237             MOV     R7,A
0057 900013          238             MOV     DPTR,#013H
005A 120000   F      239             LCALL   ?C?CLDOPTR
005D F4              240             CPL     A
005E FE              241             MOV     R6,A
005F EF              242             MOV     A,R7
A51 MACRO ASSEMBLER  OS_TIME                                                              05/17/2005 11:20:00 PAGE     5

⌨️ 快捷键说明

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