📄 timerctrl.asm
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC Version 4.32 *
;* Date/Time created: Thu May 29 11:48:35 2008 *
;******************************************************************************
;******************************************************************************
;* GLOBAL FILE PARAMETERS *
;* *
;* Architecture : TMS320C670x *
;* Optimization : Enabled at level 3 *
;* Optimizing for : Speed *
;* Based on options: -o3, no -ms *
;* Endian : Little *
;* Interrupt Thrshld : Disabled *
;* Memory Model : Small *
;* Calls to RTS : Near *
;* Pipelining : Enabled *
;* Speculative Load : Disabled *
;* Memory Aliases : Presume are aliases (pessimistic) *
;* Debug Info : No Debug Info *
;* *
;******************************************************************************
.asg A15, FP
.asg B14, DP
.asg B15, SP
.global $bss
.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
; e:\ti\c6000\cgtools\bin\opt6x.exe -v6700 -q -s -O3 D:\DOCUME~1\davis\LOCALS~1\Temp\TI3016_2 D:\DOCUME~1\davis\LOCALS~1\Temp\TI3016_5 -w C:/c6713/Source Code/DSPSRC/Audiocfg_FIR/Release
.sect ".text"
.global _TIMER_Init
;******************************************************************************
;* 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 *
;******************************************************************************
_TIMER_Init:
;** --------------------------------------------------------------------------*
;** 80 ----------------------- hTimer = Y$0 = TIMER_open(0, 1u);
;** 270 ----------------------- gie = CSR&1u; // [1]
;** 271 ----------------------- CSR = CSR&0xfffffffeu; // [1]
;** 230 ----------------------- C$3 = Y$0->baseAddr; // [6]
;** 230 ----------------------- x0 = *C$3; // [6]
;** 231 ----------------------- C$3[1]; // [6]
;** 232 ----------------------- C$3[2]; // [6]
;** 276 ----------------------- CSR = CSR&0xfffffffeu|gie&1u; // [2]
;** 188 ----------------------- base = C$3; // [5]
;** 270 ----------------------- gie = CSR&1u; // [1]
;** 271 ----------------------- CSR = CSR&0xfffffffeu; // [1]
;** 197 ----------------------- *base = C$2 = 0u; // [5]
;** 198 ----------------------- base[1] = 512u; // [5]
;** 199 ----------------------- base[2] = C$2; // [5]
;** 200 ----------------------- *base = (unsigned)x0&0xfc3fu|0x3c0u; // [5]
;** 276 ----------------------- CSR = CSR&0xfffffffeu|gie&1u; // [2]
;** 236 ----------------------- IER |= _IRQ_eventTable[Y$0->eventId]; // [0]
;** 87 ----------------------- return;
MVKL .S1 _TIMER_open,A0 ; |80|
MVKH .S1 _TIMER_open,A0 ; |80|
CALL .S2X A0 ; |80|
STW .D2T2 B3,*SP--(8) ; |76|
MVKL .S2 RL0,B3 ; |80|
MVK .S2 0x1,B4 ; |80|
MVKH .S2 RL0,B3 ; |80|
ZERO .D1 A4 ; |80|
RL0: ; CALL OCCURS ; |80|
MVC .S2 CSR,B4 ; |270|
|| STW .D2T1 A4,*+DP(_hTimer) ; |80|
MVC .S2 CSR,B5 ; |271|
|| AND .L2 1,B4,B4 ; |270|
AND .S2 -2,B5,B5 ; |271|
MVC .S2 B5,CSR ; |271|
LDW .D1T1 *+A4(8),A0 ; |230|
NOP 4
LDW .D1T1 *A0,A6 ; |230|
LDW .D1T1 *+A0(4),A3 ; |231|
LDW .D1T1 *+A0(8),A3 ; |232|
NOP 3
MVC .S2 CSR,B5 ; |276|
AND .S2 1,B4,B4 ; |276|
|| AND .L2 -2,B5,B5 ; |276|
OR .S2 B4,B5,B4 ; |276|
MVC .S2 B4,CSR ; |276|
MVC .S2 CSR,B4 ; |270|
MVC .S2 CSR,B5 ; |271|
|| AND .L2 1,B4,B4 ; |270|
AND .S2 -2,B5,B5 ; |271|
MVC .S2 B5,CSR ; |271|
MVKL .S1 0xfc3f,A5 ; |200|
ZERO .D1 A3 ; |197|
|| MVK .S1 512,A7 ; |198|
MVKH .S1 0xfc3f,A5 ; |200|
|| STW .D1T1 A3,*A0 ; |197|
STW .D1T1 A7,*+A0(4) ; |198|
|| AND .S1 A5,A6,A5 ; |200|
SET .S1 A5,6,9,A3 ; |200|
|| STW .D1T1 A3,*+A0(8) ; |199|
MVC .S2 CSR,B5 ; |276|
|| STW .D1T1 A3,*A0 ; |200|
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|
LDW .D2T2 *++SP(8),B3 ; |88|
NOP 4
RET .S2 B3 ; |88|
NOP 5
; BRANCH OCCURS ; |88|
;; Inlined function references:
;; [ 0] IRQ_enable
;; [ 1] IRQ_globalDisable
;; [ 2] IRQ_globalRestore
;; [ 5] TIMER_config
;; [ 6] TIMER_getConfig
;******************************************************************************
;* MARK THE END OF THE SCALAR INIT RECORD IN CINIT:C *
;******************************************************************************
CIR: .sect ".cinit:c"
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;******************************************************************************
.global _TIMER_open
.global __IRQ_eventTable
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -