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

📄 os_time.ls1

📁 uCOS-II_2.52在51上的移植程序
💻 LS1
📖 第 1 页 / 共 5 页
字号:
A51 MACRO ASSEMBLER  OS_TIME                                                              08/08/2005 11:36:58 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ; .\OS_TIME.SRC generated from: OS_TIME.C
                       2     ; COMPILER INVOKED BY:
                       3     ;        C:\Keil\C51\BIN\C51.EXE OS_TIME.C LARGE BROWSE ORDER NOAREGS DEBUG OBJECTEXTEND SR
                             C(.\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
  00D0                13     PSW     DATA    0D0H
  00E0                14     ACC     DATA    0E0H
  00F0                15     B       DATA    0F0H
  0081                16     SP      DATA    081H
  0082                17     DPL     DATA    082H
  0083                18     DPH     DATA    083H
  0087                19     PCON    DATA    087H
  0088                20     TCON    DATA    088H
  0089                21     TMOD    DATA    089H
  008A                22     TL0     DATA    08AH
  008B                23     TL1     DATA    08BH
  008C                24     TH0     DATA    08CH
  008D                25     TH1     DATA    08DH
  00A8                26     IE      DATA    0A8H
  00B8                27     IP      DATA    0B8H
  0098                28     SCON    DATA    098H
  0099                29     SBUF    DATA    099H
  00D7                30     CY      BIT     0D0H.7
  00D6                31     AC      BIT     0D0H.6
  00D5                32     F0      BIT     0D0H.5
  00D4                33     RS1     BIT     0D0H.4
  00D3                34     RS0     BIT     0D0H.3
  00D2                35     OV      BIT     0D0H.2
  00D0                36     P       BIT     0D0H.0
  008F                37     TF1     BIT     088H.7
  008E                38     TR1     BIT     088H.6
  008D                39     TF0     BIT     088H.5
  008C                40     TR0     BIT     088H.4
  008B                41     IE1     BIT     088H.3
  008A                42     IT1     BIT     088H.2
  0089                43     IE0     BIT     088H.1
  0088                44     IT0     BIT     088H.0
  00AF                45     EA      BIT     0A8H.7
  00AC                46     ES      BIT     0A8H.4
  00AB                47     ET1     BIT     0A8H.3
  00AA                48     EX1     BIT     0A8H.2
  00A9                49     ET0     BIT     0A8H.1
  00A8                50     EX0     BIT     0A8H.0
  00BC                51     PS      BIT     0B8H.4
  00BB                52     PT1     BIT     0B8H.3
  00BA                53     PX1     BIT     0B8H.2
  00B9                54     PT0     BIT     0B8H.1
  00B8                55     PX0     BIT     0B8H.0
  00B7                56     RD      BIT     0B0H.7
  00B6                57     WR      BIT     0B0H.6
A51 MACRO ASSEMBLER  OS_TIME                                                              08/08/2005 11:36:58 PAGE     2

  00B5                58     T1      BIT     0B0H.5
  00B4                59     T0      BIT     0B0H.4
  00B3                60     INT1    BIT     0B0H.3
  00B2                61     INT0    BIT     0B0H.2
  00B1                62     TXD     BIT     0B0H.1
  00B0                63     RXD     BIT     0B0H.0
  009F                64     SM0     BIT     098H.7
  009E                65     SM1     BIT     098H.6
  009D                66     SM2     BIT     098H.5
  009C                67     REN     BIT     098H.4
  009B                68     TB8     BIT     098H.3
  009A                69     RB8     BIT     098H.2
  0099                70     TI      BIT     098H.1
  0098                71     RI      BIT     098H.0
                      72     ?PR?_OSTimeDly?OS_TIME                   SEGMENT CODE 
                      73     ?PR?_OSTimeDlyHMSM?OS_TIME               SEGMENT CODE 
                      74     ?XD?_OSTimeDlyHMSM?OS_TIME               SEGMENT XDATA OVERLAYABLE 
                      75     ?PR?_OSTimeDlyResume?OS_TIME             SEGMENT CODE 
                      76     ?XD?_OSTimeDlyResume?OS_TIME             SEGMENT XDATA OVERLAYABLE 
                      77     ?PR?OSTimeGet?OS_TIME                    SEGMENT CODE 
                      78     ?PR?_OSTimeSet?OS_TIME                   SEGMENT CODE 
                      79             EXTRN   XDATA (OSRdyGrp)
                      80             EXTRN   XDATA (OSRdyTbl)
                      81             EXTRN   IDATA (OSTCBCur)
                      82             EXTRN   XDATA (OSTCBPrioTbl)
                      83             EXTRN   XDATA (OSTime)
                      84             EXTRN   CODE (OS_Sched)
                      85             EXTRN   CODE (?C?CLDOPTR)
                      86             EXTRN   CODE (?C?ISTOPTR)
                      87             EXTRN   CODE (?C?LMUL)
                      88             EXTRN   CODE (?C?ULDIV)
                      89             EXTRN   CODE (?C?LSTXDATA)
                      90             EXTRN   CODE (?C?ILDOPTR)
                      91             PUBLIC  _OSTimeSet
                      92             PUBLIC  OSTimeGet
                      93             PUBLIC  _OSTimeDlyResume
                      94             PUBLIC  ?_OSTimeDlyHMSM?BYTE
                      95             PUBLIC  _OSTimeDlyHMSM
                      96             PUBLIC  _OSTimeDly
                      97     
----                  98             RSEG  ?XD?_OSTimeDlyHMSM?OS_TIME
0000                  99     ?_OSTimeDlyHMSM?BYTE:
0000                 100           hours?141:   DS   1
0001                 101         minutes?142:   DS   1
0002                 102         seconds?143:   DS   1
0003                 103           milli?144:   DS   2
0005                 104             ORG  5
0005                 105           ticks?145:   DS   4
0009                 106           loops?146:   DS   2
                     107     
----                 108             RSEG  ?XD?_OSTimeDlyResume?OS_TIME
0000                 109     ?_OSTimeDlyResume?BYTE:
0000                 110            ptcb?248:   DS   3
                     111     ; /*
                     112     ; *****************************************************************************************
                             ****************
                     113     ; *                                                uC/OS-II
                     114     ; *                                          The Real-Time Kernel
                     115     ; *                                             TIME MANAGEMENT
                     116     ; *
                     117     ; *                          (c) Copyright 1992-2002, Jean J. Labrosse, Weston, FL
                     118     ; *                                           All Rights Reserved
                     119     ; *
                     120     ; * File : OS_TIME.C
                     121     ; * By   : Jean J. Labrosse
                     122     ; *****************************************************************************************
A51 MACRO ASSEMBLER  OS_TIME                                                              08/08/2005 11:36:58 PAGE     3

                             ****************
                     123     ; */
                     124     ; 
                     125     ; #ifndef  OS_MASTER_FILE
                     126     ; #include "includes.h"
                     127     ; #endif
                     128     ; 
                     129     ; /*
                     130     ; *****************************************************************************************
                             ****************
                     131     ; *                                DELAY TASK 'n' TICKS   (n from 0 to 65535)
                     132     ; *
                     133     ; * Description: This function is called to delay execution of the currently running task u
                             ntil the
                     134     ; *              specified number of system ticks expires.  This, of course, directly equat
                             es to delaying
                     135     ; *              the current task for some time to expire.  No delay will result If the spe
                             cified delay is
                     136     ; *              0.  If the specified delay is greater than 0 then, a context switch will r
                             esult.
                     137     ; *
                     138     ; * Arguments  : ticks     is the time delay that the task will be suspended in number of c
                             lock 'ticks'.
                     139     ; *                        Note that by specifying 0, the task will not be delayed.
                     140     ; *
                     141     ; * Returns    : none
                     142     ; *****************************************************************************************
                             ****************
                     143     ; */
                     144     ; 
                     145     ; void  OSTimeDly (INT16U ticks)
                     146     
----                 147             RSEG  ?PR?_OSTimeDly?OS_TIME
0000                 148     _OSTimeDly:
                     149             USING   0
                     150                             ; SOURCE LINE # 35
                     151     ;---- Variable 'ticks?040' assigned to Register 'R4/R5' ----
0000 CD              152             XCH     A,R5
0001 EF              153             MOV     A,R7
0002 CD              154             XCH     A,R5
0003 CC              155             XCH     A,R4
0004 EE              156             MOV     A,R6
0005 CC              157             XCH     A,R4
                     158     ; {
                     159                             ; SOURCE LINE # 36
                     160     ;    
                     161     ; 
                     162     ; 
                     163     ;     if (ticks > 0) {                                                      /* 0 means no d
                             elay!         */
                     164                             ; SOURCE LINE # 40
0006 D3              165             SETB    C
0007 ED              166             MOV     A,R5
0008 9400            167             SUBB    A,#00H
000A EC              168             MOV     A,R4
000B 9400            169             SUBB    A,#00H
000D 406D            170             JC      ?C0003
                     171     ;         OS_ENTER_CRITICAL();
                     172                             ; SOURCE LINE # 41
000F C2AF            173             CLR     EA
                     174     ;         if ((OSRdyTbl[OSTCBCur->OSTCBY] &= ~OSTCBCur->OSTCBBitX) == 0) {  /* Delay curren
                             t task        */
                     175                             ; SOURCE LINE # 42
0011 7800     F      176             MOV     R0,#LOW (OSTCBCur)
0013 CB              177             XCH     A,R3
0014 E6              178             MOV     A,@R0
A51 MACRO ASSEMBLER  OS_TIME                                                              08/08/2005 11:36:58 PAGE     4

0015 CB              179             XCH     A,R3
0016 08              180             INC     R0
0017 E6              181             MOV     A,@R0
0018 FA              182             MOV     R2,A
0019 08              183             INC     R0
001A E6              184             MOV     A,@R0
001B F9              185             MOV     R1,A
001C 90000E          186             MOV     DPTR,#0EH
001F 120000   F      187             LCALL   ?C?CLDOPTR
0022 2400     F      188             ADD     A,#LOW (OSRdyTbl)
0024 F582            189             MOV     DPL,A
0026 E4              190             CLR     A
0027 3400     F      191             ADDC    A,#HIGH (OSRdyTbl)
0029 F583            192             MOV     DPH,A
002B C083            193             PUSH    DPH
002D C082            194             PUSH    DPL
002F E0              195             MOVX    A,@DPTR
0030 FF              196             MOV     R7,A
0031 7800     F      197             MOV     R0,#LOW (OSTCBCur)
0033 CB              198             XCH     A,R3
0034 E6              199             MOV     A,@R0

⌨️ 快捷键说明

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