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

📄 os_time.asm

📁 ucOS在51单片机上的移植实现
💻 ASM
字号:
;***************************************************************
;* TMS320C54x ANSI C Codegen                      Version 3.50 *
;* Date/Time created: Wed Apr 07 11:37:07 2004                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
;	acp500 -m --i_output_file D:\DOCUME~1\liuchao\LOCALS~1\Temp\tempTI2 --ii_file D:\DOCUME~1\liuchao\LOCALS~1\Temp\tempTI3 --object_file .\os_time.obj --opt_shell 5 os_time.c os_time.c -gk -as -fr. os_time.c 
	.file	"os_time.c"
	.file	"e:\ti\c5400\cgtools\include\os_cpu.h"
	.sym	_BOOLEAN, 0, 14, 13, 16
	.sym	_INT8U, 0, 14, 13, 16
	.sym	_INT16U, 0, 14, 13, 16
	.sym	_INT32U, 0, 15, 13, 32
	.sym	_OS_STK, 0, 14, 13, 16
	.file	"e:\ti\c5400\cgtools\include\os_cfg.h"
	.sym	_OS_FLAGS, 0, 14, 13, 16
	.file	".\ucos_ii.h"
	.stag	_os_event, 0
	.eos
	.sym	_OS_EVENT, 0, 8, 13, 0,_os_event
	.stag	_os_flag_node, 0
	.eos
	.sym	_OS_FLAG_NODE, 0, 8, 13, 0,_os_flag_node
	.stag	_os_tcb, 1024
	.member	_OSTCBStkPtr, 0, 30, 8, 16
	.member	_OSTCBExtPtr, 16, 16, 8, 16
	.member	_OSTCBStkBottom, 32, 30, 8, 16
	.member	_OSTCBStkSize, 64, 15, 8, 32
	.member	_OSTCBOpt, 96, 14, 8, 16
	.member	_OSTCBId, 112, 14, 8, 16
	.member	_OSTCBNext, 128, 24, 8, 16, _os_tcb
	.member	_OSTCBPrev, 144, 24, 8, 16, _os_tcb
	.member	_OSTCBEventPtr, 160, 24, 8, 16, _os_event
	.member	_OSTCBMsg, 176, 16, 8, 16
	.member	_OSTCBFlagNode, 192, 24, 8, 16, _os_flag_node
	.member	_OSTCBFlagsRdy, 208, 14, 8, 16
	.member	_OSTCBDly, 224, 14, 8, 16
	.member	_OSTCBStat, 240, 14, 8, 16
	.member	_OSTCBPrio, 256, 14, 8, 16
	.member	_OSTCBX, 272, 14, 8, 16
	.member	_OSTCBY, 288, 14, 8, 16
	.member	_OSTCBBitX, 304, 14, 8, 16
	.member	_OSTCBBitY, 320, 14, 8, 16
	.member	_OSTCBDelReq, 336, 14, 8, 16
	.member	_OSTCBCtxSwCtr, 352, 15, 8, 32
	.member	_OSTCBCyclesTot, 384, 15, 8, 32
	.member	_OSTCBCyclesStart, 416, 15, 8, 32
	.member	_OSTCBStkBase, 448, 30, 8, 16
	.member	_OSTCBStkUsed, 480, 15, 8, 32
	.member	_OSTCBTaskName, 512, 50, 8, 512, , 32
	.eos
	.sym	_OS_TCB, 0, 8, 13, 1024,_os_tcb
	.file	"os_time.c"
	.file	".\ucos_ii.h"
	.sym	_INT32U, 0, 15, 13, 32
	.file	"os_time.c"
	.sect	".text"
	.global	_OSTimeDly
	.sym	_OSTimeDly,_OSTimeDly, 32, 2, 0
	.func	35

;***************************************************************
;* FUNCTION DEF: _OSTimeDly                                    *
;***************************************************************
_OSTimeDly:
;* A     assigned to _ticks
	.sym	_ticks,0, 14, 17, 16
	.sym	_ticks,0, 14, 1, 16
	.sym	_y,1, 14, 1, 16
        PSHM      AR1
        FRAME     #-2
        NOP
	.line	2
        STL       A,*SP(0)              ; |36| 
	.line	9
        LD        *SP(0),A              ; |43| 
        BC        L2,AEQ                ; |43| 
        ; branch occurs ; |43| 
	.line	10
 ssbx INTM
	.line	11
        MVDM      *(_OSTCBCur),AR1      ; |45| 
        NOP
        LD        *AR1(18),A            ; |45| 
        STL       A,*SP(1)              ; |45| 
	.line	12
        MVDM      *(_OSTCBCur),AR2      ; |46| 
        NOP
        LD        *AR2(19),A            ; |46| 
        MVDK      *SP(1),*(AR1)         ; |46| 
        CMPL      A,A                   ; |46| 
        AND       *AR1(_OSRdyTbl),A     ; |46| 
        STL       A,*AR1(_OSRdyTbl)     ; |46| 
	.line	13
        MVDK      *SP(1),*(AR1)         ; |47| 
        LD        *AR1(_OSRdyTbl),A     ; |47| 
        BC        L1,ANEQ               ; |47| 
        ; branch occurs ; |47| 
	.line	14
        MVMM      AR2,AR1
        LD        *AR1(20),A            ; |48| 
        CMPL      A,A                   ; |48| 
        AND       *(_OSRdyGrp),A        ; |48| 
        STL       A,*(_OSRdyGrp)        ; |48| 
L1:    
	.line	16
        MVDM      *(_OSTCBCur),AR1      ; |50| 
        LD        *SP(0),A              ; |50| 
        STL       A,*AR1(14)            ; |50| 
	.line	17
 rsbx INTM
	.line	18
        CALL      #_OS_Sched            ; |52| 
        ; call occurs [#_OS_Sched] ; |52| 
	.line	20
L2:    
        FRAME     #2
        POPM      AR1
        RET
        ; return occurs
	.endfunc	54,000000400h,3


	.sect	".text"
	.global	_OSTimeDlyHMSM
	.sym	_OSTimeDlyHMSM,_OSTimeDlyHMSM, 46, 2, 0
	.func	82

;***************************************************************
;* FUNCTION DEF: _OSTimeDlyHMSM                                *
;***************************************************************
_OSTimeDlyHMSM:
;* A     assigned to _hours
	.sym	_hours,0, 14, 17, 16
	.sym	_minutes,12, 14, 9, 16
	.sym	_seconds,13, 14, 9, 16
	.sym	_milli,14, 14, 9, 16
	.sym	_hours,2, 14, 1, 16
	.sym	_ticks,4, 15, 1, 32
	.sym	_loops,6, 14, 1, 16
        PSHM      AR1
        FRAME     #-10
        NOP
	.line	2
        STL       A,*SP(2)              ; |83| 
	.line	7
        LD        *SP(2),A              ; |88| 
        BC        L3,ANEQ               ; |88| 
        ; branch occurs ; |88| 
	.line	8
        LD        *SP(12),A             ; |89| 
        BC        L3,ANEQ               ; |89| 
        ; branch occurs ; |89| 
	.line	9
        LD        *SP(13),A             ; |90| 
        BC        L3,ANEQ               ; |90| 
        ; branch occurs ; |90| 
	.line	10
        LD        *SP(14),A             ; |91| 
        BC        L3,ANEQ               ; |91| 
        ; branch occurs ; |91| 
	.line	11
        BD        L9                    ; |92| 
        NOP
        LD        #84,A                 ; |92| 
        ; branch occurs ; |92| 
L3:    
	.line	16
        STM       #59,AR0               ; |97| 
        MVDK      *SP(12),*(AR1)        ; |97| 
        CMPR      2,AR1                 ; |97| 
        BC        L4,NTC                ; |97| 
        ; branch occurs ; |97| 
	.line	17
        BD        L9                    ; |98| 
        NOP
        LD        #81,A                 ; |98| 
        ; branch occurs ; |98| 
L4:    
	.line	19
        STM       #59,AR0               ; |100| 
        MVDK      *SP(13),*(AR1)        ; |100| 
        CMPR      2,AR1                 ; |100| 
        BC        L5,NTC                ; |100| 
        ; branch occurs ; |100| 
	.line	20
        BD        L9                    ; |101| 
        NOP
        LD        #82,A                 ; |101| 
        ; branch occurs ; |101| 
L5:    
	.line	22
        STM       #999,AR0              ; |103| 
        MVDK      *SP(14),*(AR1)        ; |103| 
        CMPR      2,AR1                 ; |103| 
        BC        L6,NTC                ; |103| 
        ; branch occurs ; |103| 
	.line	23
        BD        L9                    ; |104| 
        NOP
        LD        #83,A                 ; |104| 
        ; branch occurs ; |104| 
L6:    
	.line	27
        LD        #1000,A               ; |108| 
        LDM       AR1,B                 ; |108| 
        DST       A,*SP(0)              ; |108| 
        LDM       BL,B                  ; |108| 
        SFTL      B,#2,A                ; |108| 
        ADD       B,#4,A                ; |108| 
        CALLD     #L$$DIVU              ; |108| 
        ADD       #500,A,A              ; |108| 
        ; call occurs [#L$$DIVU] ; |108| 
        RSBX      SXM                   ; 
        LDU       *SP(12),B
        DST       A,*SP(8)              ; |108| 
        SFTL      B,#6,A                ; |108| 
        LD        *SP(2),T              ; |108| 
        SUB       B,#2,A                ; |108| 
        LD        #3600,B               ; |108| 
        MPYU      *(BL),B               ; |108| 
        ADD       B,A                   ; |108| 
        LD        *SP(13),B             ; |108| 
        ADD       *(BL),A               ; |108| 
        SFTL      A,#2,B                ; |108| 
        ADD       A,#4,B                ; |108| 
        DADD      *SP(8),B,B            ; 
        DST       B,*SP(4)              ; |108| 
	.line	29
        LD        B,A
        SFTL      A,#0                  ; |110| 
        SFTL      A,#-16,A              ; |110| 
        STL       A,*SP(6)              ; |110| 
	.line	30
        LD        #65535,A              ; |111| 
        AND       B,A                   ; |111| 
        DST       A,*SP(4)              ; |111| 
	.line	31
        LD        *SP(5),A              ; |112| 
        CALL      #_OSTimeDly           ; |112| 
        ; call occurs [#_OSTimeDly] ; |112| 
	.line	32
        LD        *SP(6),A              ; |113| 
        BC        L8,AEQ                ; |113| 
        ; branch occurs ; |113| 
L7:    
	.line	33
        RSBX      SXM                   ; 
        CALLD     #_OSTimeDly           ; |114| 
        LD        #32768,A              ; |114| 
        ; call occurs [#_OSTimeDly] ; |114| 
	.line	34
        RSBX      SXM                   ; 
        CALLD     #_OSTimeDly           ; |115| 
        LD        #32768,A              ; |115| 
        ; call occurs [#_OSTimeDly] ; |115| 
	.line	35
        ADDM      #-1,*SP(6)            ; |116| 
	.line	36
        LD        *SP(6),A              ; |117| 
        BC        L7,ANEQ               ; |117| 
        ; branch occurs ; |117| 
L8:    
	.line	37
        LD        #0,A                  ; |118| 
L9:    
	.line	38
        FRAME     #10                   ; |119| 
        POPM      AR1                   ; |119| 
        RET       ; |119| 
        ; return occurs ; |119| 
	.endfunc	119,000000400h,11


	.sect	".text"
	.global	_OSTimeDlyResume
	.sym	_OSTimeDlyResume,_OSTimeDlyResume, 46, 2, 0
	.func	147

;***************************************************************
;* FUNCTION DEF: _OSTimeDlyResume                              *
;***************************************************************
_OSTimeDlyResume:
;* A     assigned to _prio
	.sym	_prio,0, 14, 17, 16
	.sym	_prio,0, 14, 1, 16
	.sym	_ptcb,1, 24, 1, 16, _os_tcb
        PSHM      AR1
        FRAME     #-2
        NOP
	.line	2
        STL       A,*SP(0)              ; |148| 
	.line	9
        STLM      A,AR1                 ; |155| 
        NOP
        STM       #63,AR0               ; |155| 
        CMPR      1,AR1                 ; |155| 
        BC        L10,TC                ; |155| 
        ; branch occurs ; |155| 
	.line	10
        BD        L15                   ; |156| 
        NOP
        LD        #42,A                 ; |156| 
        ; branch occurs ; |156| 
L10:    
	.line	12
 ssbx INTM
	.line	13
        MVDK      *SP(0),*(AR1)         ; |159| 
        LD        *AR1(_OSTCBPrioTbl),A ; |159| 
        STL       A,*SP(1)              ; |159| 
	.line	14
        LD        *SP(1),A              ; |160| 
        BC        L14,AEQ               ; |160| 
        ; branch occurs ; |160| 
	.line	15
        MVDK      *SP(1),*(AR1)         ; |161| 
        LD        *AR1(14),A            ; |161| 
        BC        L13,AEQ               ; |161| 
        ; branch occurs ; |161| 
	.line	16
        ST        #0,*AR1(14)           ; |162| 
	.line	17
        MVDK      *SP(1),*(AR1)         ; |163| 
        BITF      *AR1(15),#8           ; |163| 
        BC        L11,TC                ; |163| 
        ; branch occurs ; |163| 
	.line	18
        LD        *AR1(20),A            ; |164| 
        OR        *(_OSRdyGrp),A        ; |164| 
        STL       A,*(_OSRdyGrp)        ; |164| 
	.line	19
        MVDK      *SP(1),*(AR2)         ; |165| 
        MVDK      *AR1(18),*(AR1)       ; |165| 
        LD        *AR2(19),A            ; |165| 
        OR        *AR1(_OSRdyTbl),A     ; |165| 
        STL       A,*AR1(_OSRdyTbl)     ; |165| 
	.line	20
 rsbx INTM
	.line	21
        CALL      #_OS_Sched            ; |167| 
        ; call occurs [#_OS_Sched] ; |167| 
	.line	22
        B         L12                   ; |168| 
        ; branch occurs ; |168| 
L11:    
	.line	23
 rsbx INTM
L12:    
	.line	25
        BD        L15                   ; |171| 
        NOP
        LD        #0,A                  ; |171| 
        ; branch occurs ; |171| 
	.line	26
L13:    
	.line	27
 rsbx INTM
	.line	28
        BD        L15                   ; |174| 
        NOP
        LD        #80,A                 ; |174| 
        ; branch occurs ; |174| 
L14:    
	.line	31
 rsbx INTM
	.line	32
        LD        #11,A                 ; |178| 
L15:    
	.line	33
        FRAME     #2                    ; |179| 
        POPM      AR1                   ; |179| 
        RET       ; |179| 
        ; return occurs ; |179| 
	.endfunc	179,000000400h,3


	.sect	".text"
	.global	_OSTimeGet
	.sym	_OSTimeGet,_OSTimeGet, 47, 2, 0
	.func	196

;***************************************************************
;* FUNCTION DEF: _OSTimeGet                                    *
;***************************************************************
_OSTimeGet:
	.sym	_ticks,0, 15, 1, 32
        FRAME     #-3
	.line	9
 ssbx INTM
	.line	10
        DLD       *(_OSTime),A          ; |205| 
        DST       A,*SP(0)              ; |205| 
	.line	11
 rsbx INTM
	.line	12
	.line	13
        FRAME     #3                    ; |208| 
        RET       ; |208| 
        ; return occurs ; |208| 
	.endfunc	208,000000000h,3


	.sect	".text"
	.global	_OSTimeSet
	.sym	_OSTimeSet,_OSTimeSet, 32, 2, 0
	.func	224

;***************************************************************
;* FUNCTION DEF: _OSTimeSet                                    *
;***************************************************************
_OSTimeSet:
;* A     assigned to _ticks
	.sym	_ticks,0, 15, 17, 32
	.sym	_ticks,0, 15, 1, 32
        FRAME     #-3
        NOP
	.line	2
        DST       A,*SP(0)              ; |225| 
	.line	8
 ssbx INTM
	.line	9
        DST       A,*(_OSTime)          ; |232| 
	.line	10
 rsbx INTM
	.line	11
        FRAME     #3
        RET
        ; return occurs
	.endfunc	234,000000000h,3


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_OS_Sched
	.global	_OSTime
	.global	_OSTCBPrioTbl
	.global	_OSTCBCur
	.global	_OSRdyTbl
	.global	_OSRdyGrp
	.global	L$$DIVU

⌨️ 快捷键说明

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