os_time.ls1

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

LS1
1,130
字号
                     827     ;         } else {
                     828                             ; SOURCE LINE # 155
00E1                 829     ?C0016:
                     830     ;             OS_EXIT_CRITICAL();
                     831                             ; SOURCE LINE # 156
00E1 D2AF            832             SETB    EA
                     833     ;             return (OS_TIME_NOT_DLY);                      /* Indicate that task was not 
                             delayed       */
                     834                             ; SOURCE LINE # 157
00E3 7F50            835             MOV     R7,#050H
00E5 8004            836             SJMP    ?C0014
                     837     ;         }
                     838                             ; SOURCE LINE # 158
                     839     ;     } else {
                     840                             ; SOURCE LINE # 159
00E7                 841     ?C0015:
                     842     ;         OS_EXIT_CRITICAL();
                     843                             ; SOURCE LINE # 160
00E7 D2AF            844             SETB    EA
                     845     ;         return (OS_TASK_NOT_EXIST);                        /* The task does not exist    
                                           */
                     846                             ; SOURCE LINE # 161
00E9 7F0B            847             MOV     R7,#0BH
                     848     ;     }
                     849                             ; SOURCE LINE # 162
                     850     ; }
                     851                             ; SOURCE LINE # 163
00EB                 852     ?C0014:
00EB 900004          853             MOV     DPTR,#04H
00EE 020000   F      854             LJMP    ?C?ADDXBP
                     855     ; END OF _?OSTimeDlyResume
                     856     
                     857     ; /*$PAGE*/
                     858     ; /*
                     859     ; *****************************************************************************************
                             ****************
                     860     ; *                                         GET CURRENT SYSTEM TIME
                     861     ; *
                     862     ; * Description: This function is used by your application to obtain the current value of t
                             he 32-bit 
                     863     ; *              counter which keeps track of the number of clock ticks.
                     864     ; *
                     865     ; * Arguments  : none
                     866     ; *
                     867     ; * Returns    : The current value of OSTime
                     868     ; *****************************************************************************************
                             ****************
A51 MACRO ASSEMBLER  OS_TIME                                                              09/09/2007 21:13:22 PAGE    15

                     869     ; */
                     870     ; 
                     871     ; INT32U OSTimeGet (void) reentrant
                     872     
----                 873             RSEG  ?PR?_?OSTimeGet?OS_TIME
0000                 874     _?OSTimeGet:
                     875             USING   0
                     876                             ; SOURCE LINE # 178
0000 90FFFC          877             MOV     DPTR,#0FFFCH
0003 120000   F      878             LCALL   ?C?ADDXBP
                     879     ; {
                     880     ;     INT32U ticks;
                     881     ; 
                     882     ; 
                     883     ;     OS_ENTER_CRITICAL();
                     884                             ; SOURCE LINE # 183
0006 C2AF            885             CLR     EA
                     886     ;     ticks = OSTime;
                     887                             ; SOURCE LINE # 184
0008 900000   F      888             MOV     DPTR,#OSTime
000B E0              889             MOVX    A,@DPTR
000C FC              890             MOV     R4,A
000D A3              891             INC     DPTR
000E E0              892             MOVX    A,@DPTR
000F FD              893             MOV     R5,A
0010 A3              894             INC     DPTR
0011 E0              895             MOVX    A,@DPTR
0012 FE              896             MOV     R6,A
0013 A3              897             INC     DPTR
0014 E0              898             MOVX    A,@DPTR
0015 FF              899             MOV     R7,A
0016 850083   F      900             MOV     DPH,?C_XBP
0019 850082   F      901             MOV     DPL,?C_XBP+01H
001C 120000   F      902             LCALL   ?C?LSTXDATA
                     903     ;     OS_EXIT_CRITICAL();
                     904                             ; SOURCE LINE # 185
001F D2AF            905             SETB    EA
                     906     ;     return (ticks);
                     907                             ; SOURCE LINE # 186
0021 850083   F      908             MOV     DPH,?C_XBP
0024 850082   F      909             MOV     DPL,?C_XBP+01H
0027 E0              910             MOVX    A,@DPTR
0028 FC              911             MOV     R4,A
0029 A3              912             INC     DPTR
002A E0              913             MOVX    A,@DPTR
002B FD              914             MOV     R5,A
002C A3              915             INC     DPTR
002D E0              916             MOVX    A,@DPTR
002E FE              917             MOV     R6,A
002F A3              918             INC     DPTR
0030 E0              919             MOVX    A,@DPTR
0031 FF              920             MOV     R7,A
                     921     ; }
                     922                             ; SOURCE LINE # 187
0032                 923     ?C0021:
0032 900004          924             MOV     DPTR,#04H
0035 020000   F      925             LJMP    ?C?ADDXBP
                     926     ; END OF _?OSTimeGet
                     927     
                     928     ; 
                     929     ; /*
                     930     ; *****************************************************************************************
                             ****************
                     931     ; *                                            SET SYSTEM CLOCK
                     932     ; *
                     933     ; * Description: This function sets the 32-bit counter which keeps track of the number of c
A51 MACRO ASSEMBLER  OS_TIME                                                              09/09/2007 21:13:22 PAGE    16

                             lock ticks.
                     934     ; *
                     935     ; * Arguments  : ticks      specifies the new value that OSTime needs to take.
                     936     ; *
                     937     ; * Returns    : none
                     938     ; *****************************************************************************************
                             ****************
                     939     ; */
                     940     ; 
                     941     ; void OSTimeSet (INT32U ticks) reentrant
                     942     
----                 943             RSEG  ?PR?_?OSTimeSet?OS_TIME
0000                 944     _?OSTimeSet:
                     945             USING   0
                     946                             ; SOURCE LINE # 201
0000 90FFFC          947             MOV     DPTR,#0FFFCH
0003 120000   F      948             LCALL   ?C?ADDXBP
0006 120000   F      949             LCALL   ?C?LSTXDATA
                     950     ; {
                     951     ;     OS_ENTER_CRITICAL();
                     952                             ; SOURCE LINE # 203
0009 C2AF            953             CLR     EA
                     954     ;     OSTime = ticks;
                     955                             ; SOURCE LINE # 204
000B 850083   F      956             MOV     DPH,?C_XBP
000E 850082   F      957             MOV     DPL,?C_XBP+01H
0011 E0              958             MOVX    A,@DPTR
0012 FC              959             MOV     R4,A
0013 A3              960             INC     DPTR
0014 E0              961             MOVX    A,@DPTR
0015 FD              962             MOV     R5,A
0016 A3              963             INC     DPTR
0017 E0              964             MOVX    A,@DPTR
0018 FE              965             MOV     R6,A
0019 A3              966             INC     DPTR
001A E0              967             MOVX    A,@DPTR
001B FF              968             MOV     R7,A
001C 900000   F      969             MOV     DPTR,#OSTime
001F 120000   F      970             LCALL   ?C?LSTXDATA
                     971     ;     OS_EXIT_CRITICAL();
                     972                             ; SOURCE LINE # 205
0022 D2AF            973             SETB    EA
                     974     ; }
                     975                             ; SOURCE LINE # 206
0024 900004          976             MOV     DPTR,#04H
0027 020000   F      977             LJMP    ?C?ADDXBP
                     978     ; END OF _?OSTimeSet
                     979     
                     980             END
A51 MACRO ASSEMBLER  OS_TIME                                                              09/09/2007 21:13:22 PAGE    17

SYMBOL TABLE LISTING
------ ----- -------


N A M E                        T Y P E  V A L U E   ATTRIBUTES

?C0002. . . . . . . . . . . .  C ADDR   006DH   R   SEG=?PR?_?OSTIMEDLY?OS_TIME
?C0003. . . . . . . . . . . .  C ADDR   0085H   R   SEG=?PR?_?OSTIMEDLY?OS_TIME
?C0004. . . . . . . . . . . .  C ADDR   01C4H   R   SEG=?PR?_?OSTIMEDLYHMSM?OS_TIME
?C0005. . . . . . . . . . . .  C ADDR   0057H   R   SEG=?PR?_?OSTIMEDLYHMSM?OS_TIME
?C0006. . . . . . . . . . . .  C ADDR   0069H   R   SEG=?PR?_?OSTIMEDLYHMSM?OS_TIME
?C0007. . . . . . . . . . . .  C ADDR   01C6H   R   SEG=?PR?_?OSTIMEDLYHMSM?OS_TIME
?C0008. . . . . . . . . . . .  C ADDR   007AH   R   SEG=?PR?_?OSTIMEDLYHMSM?OS_TIME
?C0009. . . . . . . . . . . .  C ADDR   0091H   R   SEG=?PR?_?OSTIMEDLYHMSM?OS_TIME
?C0010. . . . . . . . . . . .  C ADDR   0191H   R   SEG=?PR?_?OSTIMEDLYHMSM?OS_TIME
?C0011. . . . . . . . . . . .  C ADDR   01C0H   R   SEG=?PR?_?OSTIMEDLYHMSM?OS_TIME
?C0013. . . . . . . . . . . .  C ADDR   0020H   R   SEG=?PR?_?OSTIMEDLYRESUME?OS_TIME
?C0014. . . . . . . . . . . .  C ADDR   00EBH   R   SEG=?PR?_?OSTIMEDLYRESUME?OS_TIME
?C0015. . . . . . . . . . . .  C ADDR   00E7H   R   SEG=?PR?_?OSTIMEDLYRESUME?OS_TIME
?C0016. . . . . . . . . . . .  C ADDR   00E1H   R   SEG=?PR?_?OSTIMEDLYRESUME?OS_TIME
?C0017. . . . . . . . . . . .  C ADDR   00DBH   R   SEG=?PR?_?OSTIMEDLYRESUME?OS_TIME
?C0018. . . . . . . . . . . .  C ADDR   00DDH   R   SEG=?PR?_?OSTIMEDLYRESUME?OS_TIME
?C0021. . . . . . . . . . . .  C ADDR   0032H   R   SEG=?PR?_?OSTIMEGET?OS_TIME
?C?ADDXBP . . . . . . . . . .  C ADDR   -----       EXT
?C?CLDOPTR. . . . . . . . . .  C ADDR   -----       EXT
?C?IILDX. . . . . . . . . . .  C ADDR   -----       EXT
?C?ILDOPTR. . . . . . . . . .  C ADDR   -----       EXT
?C?ISTOPTR. . . . . . . . . .  C ADDR   -----       EXT
?C?LMUL . . . . . . . . . . .  C ADDR   -----       EXT
?C?LSTXDATA . . . . . . . . .  C ADDR   -----       EXT
?C?ULDIV. . . . . . . . . . .  C ADDR   -----       EXT
?C?XBPOFF . . . . . . . . . .  C ADDR   -----       EXT
?C_XBP. . . . . . . . . . . .  D ADDR   -----       EXT
?PR?_?OSTIMEDLY?OS_TIME . . .  C SEG    008BH       REL=UNIT
?PR?_?OSTIMEDLYHMSM?OS_TIME .  C SEG    01CCH       REL=UNIT
?PR?_?OSTIMEDLYRESUME?OS_TIME  C SEG    00F1H       REL=UNIT
?PR?_?OSTIMEGET?OS_TIME . . .  C SEG    0038H       REL=UNIT
?PR?_?OSTIMESET?OS_TIME . . .  C SEG    002AH       REL=UNIT
AC. . . . . . . . . . . . . .  B ADDR   00D0H.6 A   
ACC . . . . . . . . . . . . .  D ADDR   00E0H   A   
AR0 . . . . . . . . . . . . .  D ADDR   0000H   A   
AR1 . . . . . . . . . . . . .  D ADDR   0001H   A   
AR2 . . . . . . . . . . . . .  D ADDR   0002H   A   
AR3 . . . . . . . . . . . . .  D ADDR   0003H   A   
AR4 . . . . . . . . . . . . .  D ADDR   0004H   A   
AR5 . . . . . . . . . . . . .  D ADDR   0005H   A   
AR6 . . . . . . . . . . . . .  D ADDR   0006H   A   
AR7 . . . . . . . . . . . . .  D ADDR   0007H   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   
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 . . . . . . . 

⌨️ 快捷键说明

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