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

📄 ucos2.asm

📁 该代码采用c5400dsp的汇编语言和c语言实现ucos操作系统
💻 ASM
字号:
;***************************************************************
;* TMS320C54x ANSI C Codegen                      Version 3.70 *
;* Date/Time created: Sat Apr 24 17:20:47 2004                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"ucos2.c"
	.global	_TaskStk
	.bss	_TaskStk,512,0,0
	.sym	_TaskStk,_TaskStk, 254, 2, 8192,, 2, 256
	.global	_TaskStartStk
	.bss	_TaskStartStk,256,0,0
	.sym	_TaskStartStk,_TaskStartStk, 62, 2, 4096,, 256
	.global	_counter1
	.bss	_counter1,1,0,0
	.sym	_counter1,_counter1, 3, 2, 16
	.global	_btimer500ms
	.bss	_btimer500ms,1,0,0
	.sym	_btimer500ms,_btimer500ms, 4, 2, 16
	.global	_btimer1ms
	.bss	_btimer1ms,1,0,0
	.sym	_btimer1ms,_btimer1ms, 4, 2, 16
	.global	_hpirecflag
	.bss	_hpirecflag,1,0,0
	.sym	_hpirecflag,_hpirecflag, 4, 2, 16
	.global	_hpiinbuf
_hpiinbuf:	.usect	".hpibuffer",256,0,0
	.sym	_hpiinbuf,_hpiinbuf, 8, 2, 4096, $$fake2
	.global	_hpioutbuf
_hpioutbuf:	.usect	".hpibuffer",256,0,0
	.sym	_hpioutbuf,_hpioutbuf, 8, 2, 4096, $$fake2
;	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\TI1901549_2 --template_info_file C:\WINDOWS\TEMP\TI1901549_3 --object_file .\ucos2.obj --opt_shell 8 ucos2.c -g -k -as -fr. -ic:/ti/c5400/bios/include -ic:/ti/c5400/rtdx/include -ic:/ti/c5400/cgtools/include ucos2.c 
	.sect	".text"
	.global	_main
	.sym	_main,_main, 36, 2, 0
	.func	38

;***************************************************************
;* FUNCTION DEF: _main                                         *
;***************************************************************
_main:
	.line	2
        FRAME     #-5
	.line	4
        CALL      #_INIT_C54            ; |41| 
        ; call occurs [#_INIT_C54] ; |41| 
	.line	6
        ST        #0,*(_counter1)       ; |43| 
	.line	8
        CALL      #_OSInit              ; |45| 
        ; call occurs [#_OSInit] ; |45| 
	.line	10
        ST        #_counter1,*SP(0)     ; |47| 
        ST        #_TaskStartStk+255,*SP(1) ; |47| 
        ST        #1,*SP(2)             ; |47| 
        CALLD     #_OSTaskCreate        ; |47| 
        LD        #_TaskStart,A
        ; call occurs [#_OSTaskCreate] ; |47| 
	.line	12
        CALL      #_OSStart             ; |49| 
        ; call occurs [#_OSStart] ; |49| 
        LD        #0,A
	.line	13
        FRAME     #5                    ; |49| 
        RET       ; |49| 
        ; return occurs ; |49| 
	.endfunc	50,000000000h,5


	.sect	".text"
	.global	_TaskStart
	.sym	_TaskStart,_TaskStart, 32, 2, 0
	.func	52

;***************************************************************
;* FUNCTION DEF: _TaskStart                                    *
;***************************************************************
_TaskStart:
	.line	2
;* A     assigned to _data
	.sym	_data,0, 16, 17, 16
	.sym	_data,2, 16, 1, 16
	.sym	_msg_queue,3, 24, 1, 16, $$fake0
	.sym	_MessageStorage,4, 112, 1, 320,, 20
	.sym	_msg,24, 24, 1, 16, $$fake3
	.sym	_info,25, 8, 1, 96, $$fake1
	.sym	_i,31, 14, 1, 16
	.sym	_err,32, 14, 1, 16
        PSHM      AR1
        FRAME     #-34
        NOP
        STL       A,*SP(2)
	.line	9
 ssbx INTM
	.line	10
        CALL      #_StartTimer          ; |61| 
        ; call occurs [#_StartTimer] ; |61| 
	.line	11
 rsbx INTM
	.line	13
        ST        #20,*SP(0)            ; |64| 
        LDM       SP,A
        CALLD     #_OSQCreate           ; |64| 
        ADD       #4,A
        ; call occurs [#_OSQCreate] ; |64| 
        STL       A,*SP(3)
L1:    
	.line	17
        CMPM      *(_hpirecflag),#1     ; |68| 
        BC        L10,NTC               ; |68| 
        ; branch occurs ; |68| 
	.line	19
        ST        #0,*(_hpirecflag)     ; |70| 
	.line	21
        B         L9                    ; |72| 
        ; branch occurs ; |72| 
L2:    
	.line	24
        CALLD     #_malloc              ; |75| 
        NOP
        LD        #16,A
        ; call occurs [#_malloc] ; |75| 
        STL       A,*SP(24)
	.line	25
        SSBX      SXM
        LD        *(_hpiinbuf+1),A
        MVDK      *SP(24),*(AR1)
        ADD       #-3,A
        STL       A,*AR1
	.line	26
        ST        #0,*SP(31)            ; |77| 
        MVDK      *SP(24),*(AR1)
        MVDK      *AR1,*(AR0)
        MVDK      *SP(31),*(AR1)
        CMPR      1,AR1                 ; |77| 
        BC        L4,NTC                ; |77| 
        ; branch occurs ; |77| 
L3:    
	.line	27
        MVDK      *SP(31),*(AR1)
        LDM       AR1,A
        LD        *AR1(_hpiinbuf+3),B
        ADD       *SP(24),A             ; |78| 
        STLM      A,AR1
        NOP
        NOP
        STL       B,*AR1(1)
        ADDM      #1,*SP(31)            ; |78| 
        MVDK      *SP(24),*(AR1)
        MVDK      *AR1,*(AR0)
        MVDK      *SP(31),*(AR1)
        CMPR      1,AR1                 ; |78| 
        BC        L3,TC                 ; |78| 
        ; branch occurs ; |78| 
L4:    
	.line	28
        LD        *SP(24),A
        STL       A,*SP(0)
        LD        *SP(3),A
        CALL      #_OSQPost             ; |79| 
        ; call occurs [#_OSQPost] ; |79| 
        STL       A,*SP(32)
	.line	29
        LD        *SP(32),A             ; |80| 
        BC        L10,AEQ               ; |80| 
        ; branch occurs ; |80| 
	.line	30
        LD        *SP(24),A
        CALL      #_free                ; |81| 
        ; call occurs [#_free] ; |81| 
        B         L10                   ; |81| 
        ; branch occurs ; |81| 
L5:    
	.line	33
        LD        *SP(3),A
        CALL      #_OSQAccept           ; |84| 
        ; call occurs [#_OSQAccept] ; |84| 
        STL       A,*SP(24)
	.line	34
        LD        *SP(24),A             ; |85| 
        BC        L10,AEQ               ; |85| 
        ; branch occurs ; |85| 
	.sym	_p,33, 30, 1, 16
	.block	35
	.line	36
        ST        #_hpioutbuf,*SP(33)   ; |87| 
	.line	37
        RSBX      SXM
        MVDK      *SP(24),*(AR1)
        LD        #43523,A
        ADD       *AR1,A                ; |88| 
        MVDK      *SP(33),*(AR1)
        STL       A,*AR1
	.line	38
        LD        #256,A
        MVDK      *SP(24),*(AR1)
        ADD       *AR1(1),A             ; |89| 
        MVDK      *SP(33),*(AR1)
        STL       A,*AR1(1)
	.line	39
        ST        #0,*SP(31)            ; |90| 
        MVDK      *SP(24),*(AR1)
        MVDK      *AR1,*(AR0)
        MAR       *AR0-
        MVDK      *SP(31),*(AR1)
        CMPR      1,AR1                 ; |90| 
        BC        L7,NTC                ; |90| 
        ; branch occurs ; |90| 
L6:    
	.line	41
        LD        *SP(31),A
        SFTA      A,#-1,A               ; |92| 
        ADD       *SP(33),A             ; |92| 
        STLM      A,AR1
        LD        *SP(31),A
        ADD       #1,A
        ADD       *SP(24),A             ; |92| 
        STLM      A,AR2
        NOP
        NOP
        LD        *AR2(1),A
        STL       A,#8,*AR1(2)          ; |92| 
	.line	42
        LD        *SP(31),A
        SFTA      A,#-1,A               ; |93| 
        ADD       *SP(33),A
        STLM      A,AR1
        LD        #2,A
        ADD       *SP(31),A             ; |93| 
        ADD       *SP(24),A             ; |93| 
        STLM      A,AR2
        NOP
        NOP
        LD        *AR2(1),A
        ADD       *AR1(2),A             ; |93| 
        STL       A,*AR1(2)
	.line	43
        MVDK      *SP(24),*(AR1)
        ADDM      #2,*SP(31)            ; |94| 
        MVDK      *AR1,*(AR0)
        MAR       *AR0-
        MVDK      *SP(31),*(AR1)
        CMPR      1,AR1                 ; |94| 
        BC        L6,TC                 ; |94| 
        ; branch occurs ; |94| 
L7:    
	.line	44
        CALL      #_hpidsp_host         ; |95| 
        ; call occurs [#_hpidsp_host] ; |95| 
	.line	45
        LD        *SP(24),A
        CALL      #_free                ; |96| 
        ; call occurs [#_free] ; |96| 
	.endblock	45
	.line	46
        B         L10                   ; |97| 
        ; branch occurs ; |97| 
L8:    
	.line	49
        LDM       SP,A
        ADD       #25,A
        STL       A,*SP(0)
        LD        *SP(3),A
        CALL      #_OSQQuery            ; |100| 
        ; call occurs [#_OSQQuery] ; |100| 
        STL       A,*SP(32)
	.line	50
        LD        *SP(32),A             ; |101| 
        BC        L10,ANEQ              ; |101| 
        ; branch occurs ; |101| 
	.sym	_p,33, 30, 1, 16
	.block	51
	.line	52
        ST        #_hpioutbuf,*SP(33)   ; |103| 
	.line	53
        MVDK      *SP(33),*(AR1)
        ST        #43525,*AR1           ; |104| 
	.line	54
        LD        #512,A
        ADD       *SP(27),A             ; |105| 
        MVDK      *SP(33),*(AR1)
        STL       A,*AR1(1)
	.line	55
        LD        *SP(26),A
        MVDK      *SP(33),*(AR1)
        STL       A,#8,*AR1(2)          ; |106| 
	.line	56
        CALL      #_hpidsp_host         ; |107| 
        ; call occurs [#_hpidsp_host] ; |107| 
	.endblock	56
	.line	57
        B         L10                   ; |108| 
        ; branch occurs ; |108| 
L9:    
        MVDM      *(_hpiinbuf+2),AR1
        LDM       AR1,A                 ; |108| 
        BC        L2,AEQ                ; |108| 
        ; branch occurs ; |108| 
        STM       #1,AR0
        CMPR      0,AR1                 ; |108| 
        BC        L5,TC                 ; |108| 
        ; branch occurs ; |108| 
        STM       #2,AR0
        CMPR      0,AR1                 ; |108| 
        BC        L8,TC                 ; |108| 
        ; branch occurs ; |108| 
L10:    
	.line	61
        CALLD     #_OSTimeDly           ; |112| 
        NOP
        LD        #50,A
        ; call occurs [#_OSTimeDly] ; |112| 
	.line	62
        B         L1                    ; |113| 
        ; branch occurs ; |113| 
	.endfunc	114,000000400h,35


;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_OSQAccept
	.global	_OSQCreate
	.global	_OSQPost
	.global	_OSQQuery
	.global	_OSTaskCreate
	.global	_OSTimeDly
	.global	_OSInit
	.global	_OSStart
	.global	_StartTimer
	.global	_INIT_C54
	.global	_malloc
	.global	_free
	.global	_hpidsp_host

;***************************************************************
;* TYPE INFORMATION                                            *
;***************************************************************
	.sym	_INT8U, 0, 14, 13, 16
	.sym	_INT16U, 0, 14, 13, 16
	.sym	_OS_STK, 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	$$fake1, 96
	.member	_OSMsg, 0, 16, 8, 16
	.member	_OSNMsgs, 16, 14, 8, 16
	.member	_OSQSize, 32, 14, 8, 16
	.member	_OSEventTbl, 48, 62, 8, 32, , 2
	.member	_OSEventGrp, 80, 14, 8, 16
	.eos
	.sym	_OS_Q_DATA, 0, 8, 13, 96,$$fake1
	.stag	$$fake2, 4096
	.member	_head, 0, 14, 8, 16
	.member	_length, 16, 14, 8, 16
	.member	_func, 32, 14, 8, 16
	.member	_data, 48, 62, 8, 4048, , 253
	.eos
	.sym	_HPIFRAME, 0, 8, 13, 4096,$$fake2
	.stag	$$fake3, 256
	.member	_len, 0, 14, 8, 16
	.member	_buf, 16, 62, 8, 240, , 15
	.eos
	.sym	_msg_t, 0, 8, 13, 256,$$fake3

⌨️ 快捷键说明

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