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

📄 timerctrl.asm

📁 音频数据采集与IIR处理例程
💻 ASM
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.32 *
;* Date/Time created: Mon Oct 22 22:26:26 2007                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C671x                                          *
;*   Optimization      : Enabled at level 3                                   *
;*   Optimizing for    : Speed 1st, size 2nd                                  *
;*                       Based on options: -o3, -ms0                          *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Memory Model      : Small                                                *
;*   Calls to RTS      : Far                                                  *
;*   Pipelining        : Enabled                                              *
;*   Speculative Load  : Disabled                                             *
;*   Memory Aliases    : Presume not aliases (optimistic)                     *
;*   Debug Info        : COFF Debug                                           *
;*                                                                            *
;******************************************************************************

	.asg	A15, FP
	.asg	B14, DP
	.asg	B15, SP
	.global	$bss

	.file	"TimerCtrl.c"

	.sect	".cinit:c"
	.align	8
	.field  	(CIR - $) - 8, 32
	.field  	_hTimer+0,32
	.field  	0,32			; _hTimer @ 0

	.sect	".text"
	.global	_hTimer
_hTimer:	.usect	".bss:c",4,4
	.sym	_hTimer,_hTimer, 24, 2, 32, $$fake0
;	c:\ti6000\c6000\cgtools\bin\opt6x.exe -t -v6710 -q -O3 -Z0 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI1280_2 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI1280_5 -w E:/work/tms6713 sell board data/DSPSRC/Audiocfg_IIR/Debug 

	.sect	".text"
	.global	_TIMER_Init
	.sym	_TIMER_Init,_TIMER_Init, 32, 2, 0
	.func	75
;----------------------------------------------------------------------
;  75 | void TIMER_Init(void)                                                  
;----------------------------------------------------------------------

;******************************************************************************
;* FUNCTION NAME: _TIMER_Init                                                 *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,DP,SP                                   *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                    *
;******************************************************************************

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_TIMER_Init:
;** --------------------------------------------------------------------------*
	.line	2
;----------------------------------------------------------------------
;  78 | TIMER_Config myTimerConfig;                                            
;----------------------------------------------------------------------
	.sym	_gie,20, 14, 4, 32
	.sym	_x0,5, 4, 4, 32
	.sym	_gie,20, 14, 4, 32
	.sym	_base,0, 30, 4, 32
           STW     .D2T2   B3,*SP--(8)       ; |76| 
	.line	6
;----------------------------------------------------------------------
;  80 | hTimer = TIMER_open(TIMER_DEV0, TIMER_OPEN_RESET);                     
;  81 | TIMER_getConfig( hTimer, &myTimerConfig);                              
;  82 | myTimerConfig.ctl &= 0xff3f;                                           
;  83 | myTimerConfig.ctl |= 0x3c0;                                            
;  84 | myTimerConfig.prd  = 0x200;                                            
;  85 | myTimerConfig.cnt = 0x00000000;                                        
;  86 | TIMER_config(hTimer, &myTimerConfig);                                  
;  87 | IRQ_enable(TIMER_getEventId(hTimer));                                  
;  91 |                                                                        
;----------------------------------------------------------------------
           MVKL    .S1     _TIMER_open,A0    ; |80| 
           MVKH    .S1     _TIMER_open,A0    ; |80| 
           CALL    .S2X    A0                ; |80| 
           MVKL    .S2     RL0,B3            ; |80| 
           MVK     .S2     0x1,B4            ; |80| 
           MVKH    .S2     RL0,B3            ; |80| 
           ZERO    .D1     A4                ; |80| 
           NOP             1
RL0:       ; CALL OCCURS                     ; |80| 
           STW     .D2T1   A4,*+DP(_hTimer)  ; |80| 
           MVC     .S2     CSR,B4            ; |270| 
           AND     .S2     1,B4,B4           ; |270| 
           MVC     .S2     CSR,B5            ; |271| 
           AND     .S2     -2,B5,B5          ; |271| 
           MVC     .S2     B5,CSR            ; |271| 
           NOP             1
           LDW     .D1T1   *+A4(8),A0        ; |230| 
           NOP             4
           LDW     .D1T1   *A0,A5            ; |230| 
           LDW     .D1T1   *+A0(4),A3        ; |231| 
           LDW     .D1T1   *+A0(8),A3        ; |232| 
           MVC     .S2     CSR,B5            ; |276| 

           AND     .S2     -2,B5,B5          ; |276| 
||         AND     .L2     1,B4,B4           ; |276| 

           OR      .S2     B4,B5,B4          ; |276| 
           MVC     .S2     B4,CSR            ; |276| 
           MVC     .S2     CSR,B4            ; |270| 
           AND     .S2     1,B4,B4           ; |270| 
           MVC     .S2     CSR,B5            ; |271| 
           AND     .S2     -2,B5,B5          ; |271| 
           MVC     .S2     B5,CSR            ; |271| 
           ZERO    .D1     A3                ; |197| 
           STW     .D1T1   A3,*A0            ; |197| 
           MVK     .S1     512,A6            ; |198| 
           STW     .D1T1   A6,*+A0(4)        ; |198| 
           STW     .D1T1   A3,*+A0(8)        ; |199| 
           MVKL    .S1     0xfc3f,A3         ; |200| 
           MVKH    .S1     0xfc3f,A3         ; |200| 
           AND     .S1     A3,A5,A3          ; |200| 
           SET     .S1     A3,6,9,A3         ; |200| 
           STW     .D1T1   A3,*A0            ; |200| 
           MVC     .S2     CSR,B5            ; |276| 

           AND     .S2     -2,B5,B5          ; |276| 
||         AND     .L2     1,B4,B4           ; |276| 

           OR      .S2     B4,B5,B4          ; |276| 
           MVC     .S2     B4,CSR            ; |276| 
           LDW     .D1T2   *+A4(4),B5        ; |236| 
           MVKL    .S2     __IRQ_eventTable,B4 ; |236| 
           MVKH    .S2     __IRQ_eventTable,B4 ; |236| 
           NOP             2
           LDW     .D2T2   *+B4[B5],B5       ; |236| 
           NOP             3
           MVC     .S2     IER,B4            ; |236| 
           OR      .S2     B5,B4,B4          ; |236| 
           MVC     .S2     B4,IER            ; |236| 
	.line	13
	.line	14
           LDW     .D2T2   *++SP(8),B3       ; |88| 
           NOP             4
           RET     .S2     B3                ; |88| 
           NOP             5
           ; BRANCH OCCURS                   ; |88| 
	.endfunc	88,000080000h,8


;******************************************************************************
;* MARK THE END OF THE SCALAR INIT RECORD IN CINIT:C                          *
;******************************************************************************

CIR:	.sect	".cinit:c"
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	_TIMER_open
	.global	__IRQ_eventTable

;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************
	.sym	_Uint32, 0, 14, 13, 32
	.sym	_Uint32, 0, 14, 13, 32
	.stag	$$fake0, 96
	.member	_allocated, 0, 14, 8, 32
	.member	_eventId, 32, 14, 8, 32
	.member	_baseAddr, 64, 30, 8, 32
	.eos
	.sym	_TIMER_Handle, 0, 24, 13, 32,$$fake0
	.stag	$$fake1, 96
	.member	_ctl, 0, 14, 8, 32
	.member	_prd, 32, 14, 8, 32
	.member	_cnt, 64, 14, 8, 32
	.eos
	.sym	_TIMER_Config, 0, 8, 13, 96,$$fake1

⌨️ 快捷键说明

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