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

📄 ucos.asm

📁 该代码采用c5400dsp的汇编语言和c语言实现ucos操作系统
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;***************************************************************
;* TMS320C54x ANSI C Codegen                      Version 3.70 *
;* Date/Time created: Sat Sep 27 13:44:53 2003                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"ucos.c"
	.global	_AckMbox
	.bss	_AckMbox,1,0,0
	.sym	_AckMbox,_AckMbox, 24, 2, 16, $$fake0
	.global	_TxMbox
	.bss	_TxMbox,1,0,0
	.sym	_TxMbox,_TxMbox, 24, 2, 16, $$fake0
	.global	_TaskStk
	.bss	_TaskStk,768,0,0
	.sym	_TaskStk,_TaskStk, 254, 2, 12288,, 3, 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	_counter2
	.bss	_counter2,1,0,0
	.sym	_counter2,_counter2, 3, 2, 16
	.global	_counter3
	.bss	_counter3,1,0,0
	.sym	_counter3,_counter3, 3, 2, 16
	.global	_temp
	.bss	_temp,1,0,0
	.sym	_temp,_temp, 2, 2, 16
	.global	_clr_page_cnt
	.bss	_clr_page_cnt,1,0,0
	.sym	_clr_page_cnt,_clr_page_cnt, 2, 2, 16
	.global	_clr_byte_cnt
	.bss	_clr_byte_cnt,1,0,0
	.sym	_clr_byte_cnt,_clr_byte_cnt, 2, 2, 16
	.global	_page_cnt
	.bss	_page_cnt,1,0,0
	.sym	_page_cnt,_page_cnt, 2, 2, 16
	.global	_colm_cnt
	.bss	_colm_cnt,1,0,0
	.sym	_colm_cnt,_colm_cnt, 2, 2, 16
	.global	_timercnt
	.bss	_timercnt,1,0,0
	.sym	_timercnt,_timercnt, 4, 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

	.sect	".cinit"
	.align	1
	.field  	IR_1,16
	.field  	_num0+0,16
	.field  	0,16			; _num0[0] @ 0
	.field  	62,16			; _num0[1] @ 16
	.field  	81,16			; _num0[2] @ 32
	.field  	73,16			; _num0[3] @ 48
	.field  	69,16			; _num0[4] @ 64
	.field  	62,16			; _num0[5] @ 80
	.field  	0,16			; _num0[6] @ 96
	.field  	0,16			; _num0[7] @ 112
IR_1:	.set	8
	.sect	".text"
	.global	_num0
	.bss	_num0,8,0,0
	.sym	_num0,_num0, 50, 2, 128,, 8

	.sect	".cinit"
	.align	1
	.field  	IR_2,16
	.field  	_num1+0,16
	.field  	0,16			; _num1[0] @ 0
	.field  	0,16			; _num1[1] @ 16
	.field  	66,16			; _num1[2] @ 32
	.field  	127,16			; _num1[3] @ 48
	.field  	64,16			; _num1[4] @ 64
	.field  	0,16			; _num1[5] @ 80
	.field  	0,16			; _num1[6] @ 96
	.field  	0,16			; _num1[7] @ 112
IR_2:	.set	8
	.sect	".text"
	.global	_num1
	.bss	_num1,8,0,0
	.sym	_num1,_num1, 50, 2, 128,, 8

	.sect	".cinit"
	.align	1
	.field  	IR_3,16
	.field  	_num2+0,16
	.field  	0,16			; _num2[0] @ 0
	.field  	66,16			; _num2[1] @ 16
	.field  	97,16			; _num2[2] @ 32
	.field  	81,16			; _num2[3] @ 48
	.field  	73,16			; _num2[4] @ 64
	.field  	70,16			; _num2[5] @ 80
	.field  	0,16			; _num2[6] @ 96
	.field  	0,16			; _num2[7] @ 112
IR_3:	.set	8
	.sect	".text"
	.global	_num2
	.bss	_num2,8,0,0
	.sym	_num2,_num2, 50, 2, 128,, 8

	.sect	".cinit"
	.align	1
	.field  	IR_4,16
	.field  	_num3+0,16
	.field  	0,16			; _num3[0] @ 0
	.field  	33,16			; _num3[1] @ 16
	.field  	65,16			; _num3[2] @ 32
	.field  	69,16			; _num3[3] @ 48
	.field  	75,16			; _num3[4] @ 64
	.field  	49,16			; _num3[5] @ 80
	.field  	0,16			; _num3[6] @ 96
	.field  	0,16			; _num3[7] @ 112
IR_4:	.set	8
	.sect	".text"
	.global	_num3
	.bss	_num3,8,0,0
	.sym	_num3,_num3, 50, 2, 128,, 8

	.sect	".cinit"
	.align	1
	.field  	IR_5,16
	.field  	_num4+0,16
	.field  	0,16			; _num4[0] @ 0
	.field  	24,16			; _num4[1] @ 16
	.field  	20,16			; _num4[2] @ 32
	.field  	18,16			; _num4[3] @ 48
	.field  	127,16			; _num4[4] @ 64
	.field  	16,16			; _num4[5] @ 80
	.field  	0,16			; _num4[6] @ 96
	.field  	0,16			; _num4[7] @ 112
IR_5:	.set	8
	.sect	".text"
	.global	_num4
	.bss	_num4,8,0,0
	.sym	_num4,_num4, 50, 2, 128,, 8

	.sect	".cinit"
	.align	1
	.field  	IR_6,16
	.field  	_num5+0,16
	.field  	0,16			; _num5[0] @ 0
	.field  	39,16			; _num5[1] @ 16
	.field  	69,16			; _num5[2] @ 32
	.field  	69,16			; _num5[3] @ 48
	.field  	69,16			; _num5[4] @ 64
	.field  	57,16			; _num5[5] @ 80
	.field  	0,16			; _num5[6] @ 96
	.field  	0,16			; _num5[7] @ 112
IR_6:	.set	8
	.sect	".text"
	.global	_num5
	.bss	_num5,8,0,0
	.sym	_num5,_num5, 50, 2, 128,, 8

	.sect	".cinit"
	.align	1
	.field  	IR_7,16
	.field  	_num6+0,16
	.field  	0,16			; _num6[0] @ 0
	.field  	60,16			; _num6[1] @ 16
	.field  	74,16			; _num6[2] @ 32
	.field  	73,16			; _num6[3] @ 48
	.field  	73,16			; _num6[4] @ 64
	.field  	48,16			; _num6[5] @ 80
	.field  	0,16			; _num6[6] @ 96
	.field  	0,16			; _num6[7] @ 112
IR_7:	.set	8
	.sect	".text"
	.global	_num6
	.bss	_num6,8,0,0
	.sym	_num6,_num6, 50, 2, 128,, 8

	.sect	".cinit"
	.align	1
	.field  	IR_8,16
	.field  	_num7+0,16
	.field  	0,16			; _num7[0] @ 0
	.field  	1,16			; _num7[1] @ 16
	.field  	1,16			; _num7[2] @ 32
	.field  	121,16			; _num7[3] @ 48
	.field  	5,16			; _num7[4] @ 64
	.field  	3,16			; _num7[5] @ 80
	.field  	0,16			; _num7[6] @ 96
	.field  	0,16			; _num7[7] @ 112
IR_8:	.set	8
	.sect	".text"
	.global	_num7
	.bss	_num7,8,0,0
	.sym	_num7,_num7, 50, 2, 128,, 8

	.sect	".cinit"
	.align	1
	.field  	IR_9,16
	.field  	_num8+0,16
	.field  	0,16			; _num8[0] @ 0
	.field  	54,16			; _num8[1] @ 16
	.field  	73,16			; _num8[2] @ 32
	.field  	73,16			; _num8[3] @ 48
	.field  	73,16			; _num8[4] @ 64
	.field  	54,16			; _num8[5] @ 80
	.field  	0,16			; _num8[6] @ 96
	.field  	0,16			; _num8[7] @ 112
IR_9:	.set	8
	.sect	".text"
	.global	_num8
	.bss	_num8,8,0,0
	.sym	_num8,_num8, 50, 2, 128,, 8

	.sect	".cinit"
	.align	1
	.field  	IR_10,16
	.field  	_num9+0,16
	.field  	0,16			; _num9[0] @ 0
	.field  	6,16			; _num9[1] @ 16
	.field  	73,16			; _num9[2] @ 32
	.field  	73,16			; _num9[3] @ 48
	.field  	41,16			; _num9[4] @ 64
	.field  	30,16			; _num9[5] @ 80
	.field  	0,16			; _num9[6] @ 96
	.field  	0,16			; _num9[7] @ 112
IR_10:	.set	8
	.sect	".text"
	.global	_num9
	.bss	_num9,8,0,0
	.sym	_num9,_num9, 50, 2, 128,, 8
;	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\TI1873321_2 --template_info_file C:\WINDOWS\TEMP\TI1873321_3 --object_file .\ucos.obj --opt_shell 8 ucos.c -g -k -as -fr. -ic:/ti/c5400/bios/include -ic:/ti/c5400/rtdx/include -ic:/ti/c5400/cgtools/include ucos.c 
	.sect	".text"
	.global	_main
	.sym	_main,_main, 36, 2, 0
	.func	55

;***************************************************************
;* FUNCTION DEF: _main                                         *
;***************************************************************
_main:
	.line	2
        FRAME     #-5
	.line	4
        CALL      #_INIT_C54            ; |58| 
        ; call occurs [#_INIT_C54] ; |58| 
	.line	6
        LD        #0,A
        STL       A,*(_counter1)
        STL       A,*(_counter2)
        STL       A,*(_counter3)
	.line	8
        CALL      #_OSInit              ; |62| 
        ; call occurs [#_OSInit] ; |62| 
	.line	10
        ST        #_counter1,*SP(0)     ; |64| 
        ST        #_TaskStartStk+255,*SP(1) ; |64| 
        ST        #0,*SP(2)             ; |64| 
        CALLD     #_OSTaskCreate        ; |64| 
        LD        #_TaskStart,A
        ; call occurs [#_OSTaskCreate] ; |64| 
	.line	12
        CALL      #_OSStart             ; |66| 
        ; call occurs [#_OSStart] ; |66| 
        LD        #0,A
	.line	13
        FRAME     #5                    ; |66| 
        RET       ; |66| 
        ; return occurs ; |66| 
	.endfunc	67,000000000h,5


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

;***************************************************************
;* FUNCTION DEF: _TaskStart                                    *
;***************************************************************
_TaskStart:
	.line	2
;* A     assigned to _data
	.sym	_data,0, 16, 17, 16
	.sym	_data,4, 16, 1, 16
	.sym	_err,5, 14, 1, 16
        PSHM      AR1
        FRAME     #-6
        NOP
        STL       A,*SP(4)
	.line	7
 ssbx INTM
	.line	8
        CALL      #_StartTimer          ; |76| 
        ; call occurs [#_StartTimer] ; |76| 
	.line	9
 rsbx INTM
	.line	11
        ST        #_counter2,*SP(0)     ; |79| 
        ST        #_TaskStk+255,*SP(1)  ; |79| 
        ST        #1,*SP(2)             ; |79| 
        CALLD     #_OSTaskCreate        ; |79| 
        LD        #_Task1,A
        ; call occurs [#_OSTaskCreate] ; |79| 
	.line	12
        ST        #_counter3,*SP(0)     ; |80| 
        ST        #_TaskStk+511,*SP(1)  ; |80| 
        ST        #2,*SP(2)             ; |80| 
        CALLD     #_OSTaskCreate        ; |80| 
        LD        #_Task2,A
        ; call occurs [#_OSTaskCreate] ; |80| 
	.line	14
        CALLD     #_OSMboxCreate        ; |82| 
        NOP
        LD        #0,A
        ; call occurs [#_OSMboxCreate] ; |82| 
        STL       A,*(_AckMbox)
	.line	15
        CALLD     #_OSMboxCreate        ; |83| 
        NOP
        LD        #0,A
        ; call occurs [#_OSMboxCreate] ; |83| 
        STL       A,*(_TxMbox)
	.line	17
        PORTR     09H,*(_temp)          ; |85| 
	.line	18
        CALL      #_delay2              ; |86| 
        ; call occurs [#_delay2] ; |86| 
	.line	19
        PORTW     *(_temp),09H          ; |87| 
	.line	20
        CALL      #_Init_Lcd            ; |88| 
        ; call occurs [#_Init_Lcd] ; |88| 
	.line	21
        CALL      #_Cls_Lcd             ; |89| 
        ; call occurs [#_Cls_Lcd] ; |89| 
L1:    
	.line	24
        MVDK      *SP(4),*(AR1)
        ADDM      #1,*AR1               ; |92| 
	.line	25
        ADDM      #1,*SP(5)             ; |93| 
	.line	26
        CALLD     #_OSTimeDly           ; |94| 
        NOP
        LD        #100,A
        ; call occurs [#_OSTimeDly] ; |94| 
	.line	27
        B         L1                    ; |95| 
        ; branch occurs ; |95| 
	.endfunc	96,000000400h,7


	.sect	".text"
	.global	_Task1

⌨️ 快捷键说明

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