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

📄 os_task.asm

📁 该代码采用c5400dsp的汇编语言和c语言实现ucos操作系统
💻 ASM
字号:
;***************************************************************
;* TMS320C54x ANSI C Codegen                      Version 3.70 *
;* Date/Time created: Sat Apr 24 16:09:26 2004                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"os_task.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_task.obj --opt_shell 8 os_task.c -g -k -as -fr. -ic:/ti/c5400/bios/include -ic:/ti/c5400/rtdx/include -ic:/ti/c5400/cgtools/include os_task.c 
	.sect	".text"
	.global	_OSTaskCreate
	.sym	_OSTaskCreate,_OSTaskCreate, 46, 2, 0
	.func	173

;***************************************************************
;* FUNCTION DEF: _OSTaskCreate                                 *
;***************************************************************
_OSTaskCreate:
	.line	2
;* A     assigned to _task
	.sym	_task,0, 144, 17, 16
	.sym	_pdata,12, 16, 9, 16
	.sym	_ptos,13, 30, 9, 16
	.sym	_prio,14, 14, 9, 16
	.sym	_task,6, 144, 1, 16
	.sym	_psp,7, 16, 1, 16
	.sym	_err,8, 14, 1, 16
        PSHM      AR1
        FRAME     #-10
        NOP
        STL       A,*SP(6)
	.line	7
        STM       #12,AR0
        MVDK      *SP(14),*(AR1)
        CMPR      2,AR1                 ; |179| 
        BC        L1,NTC                ; |179| 
        ; branch occurs ; |179| 
	.line	8
        BD        L5                    ; |180| 
        NOP
        LD        #42,A
        ; branch occurs ; |180| 
L1:    
	.line	10
 ssbx INTM
	.line	11
        MVDK      *SP(14),*(AR1)
        LD        *AR1(_OSTCBPrioTbl),A ; |183| 
        BC        L4,ANEQ               ; |183| 
        ; branch occurs ; |183| 
	.line	12
        ST        #1,*AR1(_OSTCBPrioTbl) ; |184| 
	.line	14
 rsbx INTM
	.line	15
        LD        *SP(12),A
        STL       A,*SP(0)
        ST        #0,*SP(2)             ; |187| 
        LD        *SP(13),A
        STL       A,*SP(1)
        LD        *SP(6),A
        CALL      #_OSTaskStkInit       ; |187| 
        ; call occurs [#_OSTaskStkInit] ; |187| 
        STL       A,*SP(7)
	.line	16
        ST        #0,*SP(1)             ; |188| 
        ST        #0,*SP(2)             ; |188| 
        ST        #0,*SP(3)             ; |188| 
        ST        #0,*SP(4)             ; |188| 
        STL       A,*SP(0)
        ST        #0,*SP(5)             ; |188| 
        LD        *SP(14),A
        CALL      #_OSTCBInit           ; |188| 
        ; call occurs [#_OSTCBInit] ; |188| 
        STL       A,*SP(8)
	.line	17
        LD        *SP(8),A              ; |189| 
        BC        L2,ANEQ               ; |189| 
        ; branch occurs ; |189| 
	.line	18
 ssbx INTM
	.line	19
        ADDM      #1,*(_OSTaskCtr)      ; |191| 
	.line	20
        MVDK      *SP(14),*(AR1)
        LD        *AR1(_OSTCBPrioTbl),A
        CALL      #_OSTaskCreateHook    ; |192| 
        ; call occurs [#_OSTaskCreateHook] ; |192| 
	.line	21
 rsbx INTM
	.line	22
        LD        *(_OSRunning),A       ; |194| 
        BC        L3,AEQ                ; |194| 
        ; branch occurs ; |194| 
	.line	23
        CALL      #_OSSched             ; |195| 
        ; call occurs [#_OSSched] ; |195| 
	.line	25
        B         L3                    ; |197| 
        ; branch occurs ; |197| 
L2:    
	.line	26
 ssbx INTM
	.line	27
        MVDK      *SP(14),*(AR1)
        ST        #0,*AR1(_OSTCBPrioTbl) ; |199| 
	.line	28
 rsbx INTM
L3:    
	.line	30
        BD        L5                    ; |202| 
        NOP
        LD        *SP(8),A
        ; branch occurs ; |202| 
L4:    
	.line	32
 rsbx INTM
	.line	33
        LD        #40,A
L5:    
	.line	35
        FRAME     #10                   ; |205| 
        POPM      AR1                   ; |205| 
        RET       ; |205| 
        ; return occurs ; |205| 
	.endfunc	207,000000400h,11


	.sect	".text"
	.global	_OSTaskQuery
	.sym	_OSTaskQuery,_OSTaskQuery, 46, 2, 0
	.func	700

;***************************************************************
;* FUNCTION DEF: _OSTaskQuery                                  *
;***************************************************************
_OSTaskQuery:
	.line	2
;* A     assigned to _prio
	.sym	_prio,0, 14, 17, 16
	.sym	_pdata,4, 24, 9, 16, _os_tcb
	.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      2,AR1                 ; |705| 
        BC        L6,NTC                ; |705| 
        ; branch occurs ; |705| 
        CMPM      *SP(0),#255           ; |705| 
        BC        L6,TC                 ; |705| 
        ; branch occurs ; |705| 
	.line	7
        BD        L11                   ; |706| 
        NOP
        LD        #42,A
        ; branch occurs ; |706| 
L6:    
	.line	9
 ssbx INTM
	.line	10
        CMPM      *SP(0),#255           ; |709| 
        BC        L7,NTC                ; |709| 
        ; branch occurs ; |709| 
	.line	11
        MVDM      *(_OSTCBCur),AR1
        NOP
        LD        *AR1(7),A
        STL       A,*SP(0)
L7:    
	.line	13
        MVDK      *SP(0),*(AR1)
        MVDK      *AR1(_OSTCBPrioTbl),*(AR1)
        BANZD     L8,*AR1               ; |712| 
        MVKD      *(AR1),*SP(1)
        ; branch occurs ; |712| 
	.line	14
 rsbx INTM
	.line	15
        BD        L11                   ; |714| 
        NOP
        LD        #41,A
        ; branch occurs ; |714| 
L8:    
	.line	17
        LD        *SP(4),A
        STLM      A,AR3
        NOP
        MVDK      *SP(1),*(AR2)
        RPT       #11                   ; |716| 
        ; loop starts ; |716| 
L9:    
        MVDD      *AR2+,*AR3+           ; |716| 
        ; loop ends ; |716| 
L10:    
	.line	18
 rsbx INTM
	.line	19
        LD        #0,A
L11:    
	.line	20
        FRAME     #2                    ; |718| 
        POPM      AR1                   ; |718| 
        RET       ; |718| 
        ; return occurs ; |718| 
	.endfunc	719,000000400h,3


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_OSSched
	.global	_OSTCBInit
	.global	_OSTaskCreateHook
	.global	_OSTaskStkInit
	.global	_OSRunning
	.global	_OSTaskCtr
	.global	_OSTCBCur
	.global	_OSTCBPrioTbl

;***************************************************************
;* TYPE INFORMATION                                            *
;***************************************************************
	.sym	_INT8U, 0, 14, 13, 16
	.sym	_OS_STK, 0, 14, 13, 16
	.sym	_INT16U, 0, 14, 13, 16
	.sym	_BOOLEAN, 0, 14, 13, 16
	.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 + -