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

📄 os_time.asm

📁 该代码采用c5400dsp的汇编语言和c语言实现ucos操作系统
💻 ASM
字号:
;***************************************************************
;* TMS320C54x ANSI C Codegen                      Version 3.70 *
;* Date/Time created: Sat Apr 24 16:09:28 2004                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"os_time.c"
;	C:\TI\C5400\CGTOOLS\BIN\acp500.exe -Ic:/ti/c5400/bios/include -Ic:/ti/c5400/rtdx/include -Ic:/ti/c5400/cgtools/include --keep_unneeded_types -m --i_output_file C:\WINDOWS\TEMP\TI1902249_2 --template_info_file C:\WINDOWS\TEMP\TI1902249_3 --object_file .\os_time.obj --opt_shell 8 os_time.c -g -k -as -fr. -ic:/ti/c5400/bios/include -ic:/ti/c5400/rtdx/include -ic:/ti/c5400/cgtools/include os_time.c 
	.sect	".text"
	.global	_OSTimeDly
	.sym	_OSTimeDly,_OSTimeDly, 32, 2, 0
	.func	37

;***************************************************************
;* FUNCTION DEF: _OSTimeDly                                    *
;***************************************************************
_OSTimeDly:
	.line	2
;* A     assigned to _ticks
	.sym	_ticks,0, 14, 17, 16
	.sym	_ticks,0, 14, 1, 16
        PSHM      AR1
        FRAME     #-2
        NOP
        STL       A,*SP(0)
	.line	3
        LD        *SP(0),A              ; |39| 
        BC        L2,AEQ                ; |39| 
        ; branch occurs ; |39| 
	.line	4
 ssbx INTM
	.line	5
        MVDM      *(_OSTCBCur),AR1
        NOP
        LD        *AR1(10),A
        MVDK      *AR1(9),*(AR2)
        CMPL      A,A                   ; |41| 
        AND       *AR2(_OSRdyTbl),A     ; |41| 
        STLM      A,AR1
        MVKD      *(AR1),*AR2(_OSRdyTbl)
        BANZ      L1,*AR1               ; |41| 
        ; branch occurs ; |41| 
	.line	6
        MVDM      *(_OSTCBCur),AR1
        NOP
        LD        *AR1(11),A
        CMPL      A,A                   ; |42| 
        AND       *(_OSRdyGrp),A        ; |42| 
        STL       A,*(_OSRdyGrp)
L1:    
	.line	8
        MVDM      *(_OSTCBCur),AR1
        LD        *SP(0),A
        STL       A,*AR1(5)
	.line	9
 rsbx INTM
	.line	10
        CALL      #_OSSched             ; |46| 
        ; call occurs [#_OSSched] ; |46| 
	.line	11
L2:    
	.line	12
        FRAME     #2
        POPM      AR1
        RET
        ; return occurs
	.endfunc	48,000000400h,3


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

;***************************************************************
;* FUNCTION DEF: _OSTimeDlyHMSM                                *
;***************************************************************
_OSTimeDlyHMSM:
	.line	2
;* A     assigned to _hours
	.sym	_hours,0, 14, 17, 16
	.sym	_minutes,10, 14, 9, 16
	.sym	_seconds,11, 14, 9, 16
	.sym	_milli,12, 14, 9, 16
	.sym	_hours,2, 14, 1, 16
	.sym	_ticks,4, 15, 1, 32
	.sym	_loops,6, 14, 1, 16
        PSHM      AR1
        FRAME     #-8
        NOP
        STL       A,*SP(2)
	.line	7
        LD        *SP(2),A              ; |81| 
        BC        L3,ANEQ               ; |81| 
        ; branch occurs ; |81| 
        LD        *SP(10),A             ; |81| 
        BC        L3,ANEQ               ; |81| 
        ; branch occurs ; |81| 
        LD        *SP(11),A             ; |81| 
        BC        L3,ANEQ               ; |81| 
        ; branch occurs ; |81| 
        LD        *SP(12),A             ; |81| 
        BC        L9,AEQ                ; |81| 
        ; branch occurs ; |81| 
L3:    
	.line	8
        STM       #59,AR0
        MVDK      *SP(10),*(AR1)
        CMPR      2,AR1                 ; |82| 
        BC        L4,NTC                ; |82| 
        ; branch occurs ; |82| 
	.line	9
        BD        L10                   ; |83| 
        NOP
        LD        #81,A
        ; branch occurs ; |83| 
L4:    
	.line	11
        MVDK      *SP(11),*(AR1)
        CMPR      2,AR1                 ; |85| 
        BC        L5,NTC                ; |85| 
        ; branch occurs ; |85| 
	.line	12
        BD        L10                   ; |86| 
        NOP
        LD        #82,A
        ; branch occurs ; |86| 
L5:    
	.line	14
        STM       #999,AR0
        MVDK      *SP(12),*(AR1)
        CMPR      2,AR1                 ; |88| 
        BC        L6,NTC                ; |88| 
        ; branch occurs ; |88| 
	.line	15
        BD        L10                   ; |89| 
        NOP
        LD        #83,A
        ; branch occurs ; |89| 
L6:    
	.line	19
        LD        #5000,A
        LDU       *SP(10),B
        STM       #3600,T
        RSBX      SXM
        DST       A,*SP(0)              ; |93| 
        SFTL      B,#6,A                ; |93| 
        SUB       B,#2,A                ; |93| 
        MPYU      *SP(2),B              ; |93| 
        ADD       B,A                   ; |93| 
        ADD       *SP(11),A
        CALL      #L$$MPY               ; |93| 
        ; call occurs [#L$$MPY] ; |93| 
        STM       #5000,T
        LD        A,B                   ; |93| 
        LD        #1000,A
        DST       A,*SP(0)              ; |93| 
        MPYU      *SP(12),A             ; |93| 
        CALL      #L$$DIVU              ; |93| 
        ; call occurs [#L$$DIVU] ; |93| 
        ADD       B,A                   ; |93| 
        DST       A,*SP(4)              ; |93| 
	.line	21
        RSBX      SXM
        NOP
        DLD       *SP(4),A
        SFTL      A,#-16,A              ; |95| 
        STL       A,*SP(6)              ; |95| 
	.line	22
        DLD       *SP(4),B              ; |96| 
        LD        #65535,A
        AND       B,A                   ; |96| 
        DST       A,*SP(4)              ; |96| 
	.line	23
        LD        *SP(5),A
        CALL      #_OSTimeDly           ; |97| 
        ; call occurs [#_OSTimeDly] ; |97| 
	.line	24
        LD        *SP(6),A              ; |98| 
        BC        L8,AEQ                ; |98| 
        ; branch occurs ; |98| 
L7:    
	.line	25
        RSBX      SXM
        CALLD     #_OSTimeDly           ; |99| 
        LD        #32768,A
        ; call occurs [#_OSTimeDly] ; |99| 
	.line	26
        RSBX      SXM
        CALLD     #_OSTimeDly           ; |100| 
        LD        #32768,A
        ; call occurs [#_OSTimeDly] ; |100| 
	.line	27
        ADDM      #-1,*SP(6)            ; |101| 
	.line	28
        LD        *SP(6),A              ; |102| 
        BC        L7,ANEQ               ; |102| 
        ; branch occurs ; |102| 
L8:    
	.line	29
        BD        L10                   ; |103| 
        NOP
        LD        #0,A
        ; branch occurs ; |103| 
L9:    
	.line	31
        LD        #84,A
L10:    
	.line	33
        FRAME     #8                    ; |105| 
        POPM      AR1                   ; |105| 
        RET       ; |105| 
        ; return occurs ; |105| 
	.endfunc	107,000000400h,9


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

;***************************************************************
;* FUNCTION DEF: _OSTimeDlyResume                              *
;***************************************************************
_OSTimeDlyResume:
	.line	2
;* 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
        STL       A,*SP(0)
	.line	6
        STLM      A,AR1
        NOP
        STM       #12,AR0
        CMPR      1,AR1                 ; |138| 
        BC        L11,TC                ; |138| 
        ; branch occurs ; |138| 
	.line	7
        BD        L16                   ; |139| 
        NOP
        LD        #42,A
        ; branch occurs ; |139| 
L11:    
	.line	9
 ssbx INTM
	.line	10
        MVDK      *SP(0),*(AR1)
        LD        *AR1(_OSTCBPrioTbl),A
        STL       A,*SP(1)
	.line	11
        LD        *SP(1),A              ; |143| 
        BC        L15,AEQ               ; |143| 
        ; branch occurs ; |143| 
	.line	12
        MVDK      *SP(1),*(AR1)
        LD        *AR1(5),A             ; |144| 
        BC        L14,AEQ               ; |144| 
        ; branch occurs ; |144| 
	.line	13
        ST        #0,*AR1(5)            ; |145| 
	.line	14
        MVDK      *SP(1),*(AR1)
        BITF      *AR1(6),#8            ; |146| 
        BC        L12,TC                ; |146| 
        ; branch occurs ; |146| 
	.line	15
        LD        *AR1(11),A
        OR        *(_OSRdyGrp),A        ; |147| 
        STL       A,*(_OSRdyGrp)
	.line	16
        MVDK      *SP(1),*(AR2)
        MVDK      *AR1(9),*(AR1)
        LD        *AR2(10),A
        OR        *AR1(_OSRdyTbl),A     ; |148| 
        STL       A,*AR1(_OSRdyTbl)
	.line	17
 rsbx INTM
	.line	18
        CALL      #_OSSched             ; |150| 
        ; call occurs [#_OSSched] ; |150| 
	.line	19
        B         L13                   ; |151| 
        ; branch occurs ; |151| 
L12:    
	.line	20
 rsbx INTM
L13:    
	.line	22
        BD        L16                   ; |154| 
        NOP
        LD        #0,A
        ; branch occurs ; |154| 
L14:    
	.line	24
 rsbx INTM
	.line	25
        BD        L16                   ; |157| 
        NOP
        LD        #80,A
        ; branch occurs ; |157| 
L15:    
	.line	28
 rsbx INTM
	.line	29
        LD        #11,A
L16:    
	.line	31
        FRAME     #2                    ; |161| 
        POPM      AR1                   ; |161| 
        RET       ; |161| 
        ; return occurs ; |161| 
	.endfunc	163,000000400h,3


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

;***************************************************************
;* FUNCTION DEF: _OSTimeGet                                    *
;***************************************************************
_OSTimeGet:
	.line	2
	.sym	_ticks,0, 15, 1, 32
        FRAME     #-3
	.line	6
 ssbx INTM
	.line	7
        DLD       *(_OSTime),A          ; |184| 
        DST       A,*SP(0)              ; |184| 
	.line	8
 rsbx INTM
	.line	9
	.line	10
        FRAME     #3                    ; |186| 
        RET       ; |186| 
        ; return occurs ; |186| 
	.endfunc	187,000000000h,3


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

;***************************************************************
;* FUNCTION DEF: _OSTimeSet                                    *
;***************************************************************
_OSTimeSet:
	.line	2
;* A     assigned to _ticks
	.sym	_ticks,0, 15, 17, 32
	.sym	_ticks,0, 15, 1, 32
        FRAME     #-3
        NOP
        DST       A,*SP(0)              ; |202| 
	.line	3
 ssbx INTM
	.line	4
        DST       A,*(_OSTime)          ; |204| 
	.line	5
 rsbx INTM
	.line	6
        FRAME     #3
        RET
        ; return occurs
	.endfunc	206,000000000h,3


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

;***************************************************************
;* TYPE INFORMATION                                            *
;***************************************************************
	.sym	_INT16U, 0, 14, 13, 16
	.sym	_INT8U, 0, 14, 13, 16
	.sym	_OS_STK, 0, 14, 13, 16
	.sym	_INT32U, 0, 15, 13, 32
	.stag	$$fake0, 96
	.member	_OSEventPtr, 0, 16, 8, 16
	.member	_OSEventTbl, 16, 62, 8, 32, , 2
	.member	_OSEventCnt, 48, 14, 8, 16
	.member	_OSEventType, 64, 14, 8, 16
	.member	_OSEventGrp, 80, 14, 8, 16
	.eos
	.sym	_OS_EVENT, 0, 8, 13, 96,$$fake0
	.stag	_os_tcb, 192
	.member	_OSTCBStkPtr, 0, 30, 8, 16
	.member	_OSTCBNext, 16, 24, 8, 16, _os_tcb
	.member	_OSTCBPrev, 32, 24, 8, 16, _os_tcb
	.member	_OSTCBEventPtr, 48, 24, 8, 16, $$fake0
	.member	_OSTCBMsg, 64, 16, 8, 16
	.member	_OSTCBDly, 80, 14, 8, 16
	.member	_OSTCBStat, 96, 14, 8, 16
	.member	_OSTCBPrio, 112, 14, 8, 16
	.member	_OSTCBX, 128, 14, 8, 16
	.member	_OSTCBY, 144, 14, 8, 16
	.member	_OSTCBBitX, 160, 14, 8, 16
	.member	_OSTCBBitY, 176, 14, 8, 16
	.eos
	.sym	_OS_TCB, 0, 8, 13, 192,_os_tcb

⌨️ 快捷键说明

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