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

📄 main.asm

📁 CCS以及DSP/BIOS中文教程的光盘代码
💻 ASM
字号:
;***************************************************************
;* TMS320C54x ANSI C Codegen                      Version 3.70 *
;* Date/Time created: Sun Oct 05 13:40:14 2003                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"main.c"
	.global	_ticks
	.bss	_ticks,2,0,1
	.sym	_ticks,_ticks, 15, 2, 32

	.sect	".cinit"
	.align	1
	.field  	2,16
	.field  	_ticks_now+0,16
	.field  	0,32			; _ticks_now @ 0
	.sect	".text"
	.global	_ticks_now
	.bss	_ticks_now,2,0,1
	.sym	_ticks_now,_ticks_now, 15, 2, 32

	.sect	".cinit"
	.align	1
	.field  	2,16
	.field  	_ticks_old+0,16
	.field  	0,32			; _ticks_old @ 0
	.sect	".text"
	.global	_ticks_old
	.bss	_ticks_old,2,0,1
	.sym	_ticks_old,_ticks_old, 15, 2, 32
;	D:\TIC54X\C5400\CGTOOLS\BIN\acp500.exe -q -D_DEBUG -Id:/tic54x/c5400/bios/include -Id:/tic54x/c5400/rtdx/include -Id:/tic54x/c5400/cgtools/include --keep_unneeded_types -m --i_output_file C:\WINDOWS\TEMP\TI638617_2 --template_info_file C:\WINDOWS\TEMP\TI638617_3 --object_file F:/ccs_example/clk/Debug/main.obj --opt_shell 9 main.c -g -q -ss -frF:/ccs_example/clk/Debug -d_DEBUG -id:/tic54x/c5400/bios/include -id:/tic54x/c5400/rtdx/include -id:/tic54x/c5400/cgtools/include main.c 
	.sect	".text"
	.global	_my_clk
	.sym	_my_clk,_my_clk, 32, 2, 0
	.func	6
;----------------------------------------------------------------------
;   6 | void my_clk()                                                          
;----------------------------------------------------------------------

;***************************************************************
;* FUNCTION DEF: _my_clk                                       *
;***************************************************************
_my_clk:
	.line	2
        FRAME     #-5
	.line	3
;----------------------------------------------------------------------
;   8 | ticks_old=ticks_now;                  /* 保存上一次的ticks记数  */     
;----------------------------------------------------------------------
        DLD       *(_ticks_now),A       ; |8| 
        DST       A,*(_ticks_old)       ; |8| 
	.line	4
;----------------------------------------------------------------------
;   9 | ticks_now=CLK_gethtime();                                              
;----------------------------------------------------------------------
        CALL      #_CLK_gethtime        ; |9| 
        ; call occurs [#_CLK_gethtime] ; |9| 
        DST       A,*(_ticks_now)       ; |9| 
	.line	5
;----------------------------------------------------------------------
;  10 | ticks=ticks_now-ticks_old;                                             
;----------------------------------------------------------------------
        DLD       *(_ticks_old),A       ; |10| 
        DRSUB     *(_ticks_now),A       ; |10| 
        DST       A,*(_ticks)           ; |10| 
	.line	6
;----------------------------------------------------------------------
;  11 | LOG_printf(&LOG_msg1,"The current tick count -> 0x%x\n",               
;  12 |      (unsigned int)(ticks & 0xffff));                                  
;  14 | //STS_delta(&STS0,CLK_gethtime());                                     
;  15 | //ticks=CLK_gethtime();                                                
;  17 | //  STS_set(&STS0,CLK_gethtime());                                     
;----------------------------------------------------------------------
        RSBX      SXM
        ST        #SL1,*SP(0)           ; |11| 
        LD        A,B                   ; |11| 
        LD        #65535,A
        AND       B,A                   ; |11| 
        STL       A,*SP(1)              ; |11| 
        CALLD     #_LOG_printf          ; |11| 
        LD        #_LOG_msg1,A
        ; call occurs [#_LOG_printf] ; |11| 
	.line	14
;----------------------------------------------------------------------
;  19 | ticks=CLK_countspms();                                                 
;----------------------------------------------------------------------
        CALL      #_CLK_countspms       ; |19| 
        ; call occurs [#_CLK_countspms] ; |19| 
        DST       A,*(_ticks)           ; |19| 
	.line	15
;----------------------------------------------------------------------
;  20 | LOG_printf(&LOG_msg1,"The current tick count -> 0x%x:0x%x\n",          
;  21 |       (unsigned int)((ticks & 0xffff0000l) >> 16),(unsigned int)(ticks
;     | & 0xffff));                                                            
;----------------------------------------------------------------------
        SSBX      SXM
        LD        A,B                   ; |20| 
        LD        #-1,16,A
        AND       B,A                   ; |20| 
        SFTL      A,#-16,A
        RSBX      SXM
        STL       A,*SP(1)              ; |20| 
        LD        #65535,A
        AND       B,A                   ; |20| 
        ST        #SL2,*SP(0)           ; |20| 
        STL       A,*SP(2)              ; |20| 
        CALLD     #_LOG_printf          ; |20| 
        LD        #_LOG_msg1,A
        ; call occurs [#_LOG_printf] ; |20| 
	.line	24
        FRAME     #5
        RET
        ; return occurs
	.endfunc	29,000000000h,5


	.sect	".text"
	.global	_main
	.sym	_main,_main, 36, 2, 0
	.func	32
;----------------------------------------------------------------------
;  32 | main()                                                                 
;----------------------------------------------------------------------

;***************************************************************
;* FUNCTION DEF: _main                                         *
;***************************************************************
_main:
	.line	2
        FRAME     #-3
	.line	4
;----------------------------------------------------------------------
;  35 | STS_set(&STS0,CLK_gethtime());                                         
;----------------------------------------------------------------------
        CALL      #_CLK_gethtime        ; |35| 
        ; call occurs [#_CLK_gethtime] ; |35| 
        DST       A,*SP(0)              ; |35| 
        CALLD     #_STS_set             ; |35| 
        LD        #_STS0,A
        ; call occurs [#_STS_set] ; |35| 
        LD        #0,A
	.line	5
        FRAME     #3                    ; |35| 
        RET       ; |35| 
        ; return occurs ; |35| 
	.endfunc	36,000000000h,3


;***************************************************************
;* STRINGS                                                     *
;***************************************************************
	.sect	".const"
SL1:	.string	"The current tick count -> 0x%x",10,0
SL2:	.string	"The current tick count -> 0x%x:0x%x",10,0
;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES                               *
;***************************************************************
	.global	_STS_set
	.global	_LOG_printf
	.global	_CLK_countspms
	.global	_CLK_gethtime
	.global	_LOG_msg1
	.global	_STS0

;***************************************************************
;* TYPE INFORMATION                                            *
;***************************************************************
	.sym	_Int, 0, 4, 13, 16
	.sym	_Arg, 0, 4, 13, 16
	.sym	_Uns, 0, 14, 13, 16
	.sym	_LgInt, 0, 5, 13, 32
	.sym	_LgUns, 0, 15, 13, 32
	.stag	_STS_Obj, 96
	.member	_numh, 0, 4, 8, 16
	.member	_numl, 16, 4, 8, 16
	.member	_acch, 32, 4, 8, 16
	.member	_accl, 48, 4, 8, 16
	.member	_maxh, 64, 4, 8, 16
	.member	_maxl, 80, 4, 8, 16
	.eos
	.sym	_STS_Handle, 0, 24, 13, 16,_STS_Obj
	.sym	_STS_Obj, 0, 8, 13, 96,_STS_Obj
	.stag	_LOG_Event, 64
	.member	_seqnum, 0, 14, 8, 16
	.member	_val1, 16, 4, 8, 16
	.member	_val2, 32, 4, 8, 16
	.member	_val3, 48, 4, 8, 16
	.eos
	.sym	_LOG_Event, 0, 8, 13, 64,_LOG_Event
	.stag	_LOG_Obj, 96
	.member	_bufend, 0, 20, 8, 16
	.member	_flag, 16, 14, 8, 16
	.member	_seqnum, 32, 14, 8, 16
	.member	_curptr, 48, 24, 8, 16, _LOG_Event
	.member	_lenmask, 64, 14, 8, 16
	.member	_bufbeg, 80, 24, 8, 16, _LOG_Event
	.eos
	.sym	_LOG_Handle, 0, 24, 13, 16,_LOG_Obj
	.sym	_LOG_Obj, 0, 8, 13, 96,_LOG_Obj
	.sym	_String, 0, 18, 13, 16

⌨️ 快捷键说明

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