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

📄 test_timer.asm

📁 TI DSP TMS320DM642 用定时器测试函数执行时间
💻 ASM
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.32 *
;* Date/Time created: Sun Oct 08 09:56:27 2006                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C64xx                                          *
;*   Optimization      : Disabled                                             *
;*   Optimizing for    : Compile time, Ease of Development                    *
;*                       Based on options: no -o, no -ms                      *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Memory Model      : Small                                                *
;*   Calls to RTS      : Near                                                 *
;*   Pipelining        : Disabled                                             *
;*   Memory Aliases    : Presume are aliases (pessimistic)                    *
;*   Debug Info        : COFF Debug                                           *
;*                                                                            *
;******************************************************************************

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

	.file	"test_timer.c"
	.global	_hTimer
	.bss	_hTimer,4,4
	.sym	_hTimer,_hTimer, 24, 2, 32, $$fake0

	.sect	".cinit"
	.align	8
	.field  	IR_1,32
	.field  	_$T0$1+0,32
	.field  	512,32			; _$T0$1._ctl @ 0
	.field  	-1,32			; _$T0$1._prd @ 32
	.field  	0,32			; _$T0$1._cnt @ 64
IR_1:	.set	12

	.sect	".text"
	.bss	_$T0$1,12,4
	.sym	_$T0,_$T0$1, 8, 3, 96, $$fake1
;	c:\ti\c6000\cgtools\bin\acp6x.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI2516_4 

	.sect	".text"
	.global	_SetTimer
	.sym	_SetTimer,_SetTimer, 32, 2, 0
	.func	9

;******************************************************************************
;* FUNCTION NAME: _SetTimer                                                   *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP,A16,A17,A18,A19,A20,A21,A22,A23,A24, *
;*                           A25,A26,A27,A28,A29,A30,A31,B16,B17,B18,B19,B20, *
;*                           B21,B22,B23,B24,B25,B26,B27,B28,B29,B30,B31      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,DP,SP,A16,A17,A18,A19,A20,A21,A22,A23,  *
;*                           A24,A25,A26,A27,A28,A29,A30,A31,B16,B17,B18,B19, *
;*                           B20,B21,B22,B23,B24,B25,B26,B27,B28,B29,B30,B31  *
;*   Local Frame Size  : 0 Args + 12 Auto + 4 Save = 16 byte                  *
;******************************************************************************
_SetTimer:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_MyConfig,4, 8, 1, 96, $$fake1
           STW     .D2T2   B3,*SP--(16)      ; |10| 
           NOP             2
	.line	3
           MVK     .S1     (_$T0$1-$bss),A3  ; |11| 
           ADD     .D1X    DP,A3,A3          ; |11| 
           LDW     .D1T2   *+A3(8),B4        ; |11| 
           LDNDW   .D1T1   *A3,A5:A4         ; |11| 
           NOP             2
           ADD     .D1X    4,SP,A3           ; |11| 
           STW     .D1T2   B4,*+A3(8)        ; |11| 
           STNDW   .D1T1   A5:A4,*A3         ; |11| 
           NOP             2
	.line	9
           MVKL    .S1     _TIMER_open,A3    ; |17| 
           MVKH    .S1     _TIMER_open,A3    ; |17| 
           MVK     .D1     0x1,A4            ; |17| 
           CALL    .S2X    A3                ; |17| 
           ADDKPC  .S2     RL0,B3,3          ; |17| 
           MVK     .D2     0x1,B4            ; |17| 
RL0:       ; CALL OCCURS                     ; |17| 
           STW     .D2T1   A4,*+DP(_hTimer)  ; |17| 
           NOP             2
	.line	10
           MVKL    .S1     _TIMER_config,A3  ; |18| 
           MVKH    .S1     _TIMER_config,A3  ; |18| 
           ADD     .D2     4,SP,B4           ; |18| 
           CALL    .S2X    A3                ; |18| 
           ADDKPC  .S2     RL1,B3,4          ; |18| 
RL1:       ; CALL OCCURS                     ; |18| 
	.line	11
           MVKL    .S1     _TIMER_setCount,A3 ; |19| 
           MVKH    .S1     _TIMER_setCount,A3 ; |19| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |19| 
           CALL    .S2X    A3                ; |19| 
           ADDKPC  .S2     RL2,B3,3          ; |19| 
           ZERO    .D2     B4                ; |19| 
RL2:       ; CALL OCCURS                     ; |19| 
	.line	12
           MVKL    .S2     _TIMER_setPeriod,B5 ; |20| 
           MVKH    .S2     _TIMER_setPeriod,B5 ; |20| 
           CALL    .S2     B5                ; |20| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |20| 
           ADDKPC  .S2     RL3,B3,2          ; |20| 
           MVK     .D2     0xffffffff,B4     ; |20| 
RL3:       ; CALL OCCURS                     ; |20| 
	.line	14
           LDW     .D2T2   *++SP(16),B3      ; |22| 
           NOP             4
           RETNOP  .S2     B3,5              ; |22| 
           ; BRANCH OCCURS                   ; |22| 
	.endfunc	22,000080000h,16



	.sect	".text"
	.global	_timer_start
	.sym	_timer_start,_timer_start, 46, 2, 0
	.func	25

;******************************************************************************
;* FUNCTION NAME: _timer_start                                                *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP,A16,A17,A18,A19,A20,A21,A22,A23,A24, *
;*                           A25,A26,A27,A28,A29,A30,A31,B16,B17,B18,B19,B20, *
;*                           B21,B22,B23,B24,B25,B26,B27,B28,B29,B30,B31      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,DP,SP,A16,A17,A18,A19,A20,A21,A22,A23,  *
;*                           A24,A25,A26,A27,A28,A29,A30,A31,B16,B17,B18,B19, *
;*                           B20,B21,B22,B23,B24,B25,B26,B27,B28,B29,B30,B31  *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                    *
;******************************************************************************
_timer_start:
;** --------------------------------------------------------------------------*
	.line	2
           STW     .D2T2   B3,*SP--(8)       ; |26| 
           NOP             2
	.line	3
           MVKL    .S1     _TIMER_setCount,A3 ; |27| 
           MVKH    .S1     _TIMER_setCount,A3 ; |27| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |27| 
           CALL    .S2X    A3                ; |27| 
           ADDKPC  .S2     RL4,B3,3          ; |27| 
           ZERO    .D2     B4                ; |27| 
RL4:       ; CALL OCCURS                     ; |27| 
	.line	4
           MVKL    .S2     _TIMER_start,B4   ; |28| 
           MVKH    .S2     _TIMER_start,B4   ; |28| 
           CALL    .S2     B4                ; |28| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |28| 
           ADDKPC  .S2     RL5,B3,3          ; |28| 
RL5:       ; CALL OCCURS                     ; |28| 
	.line	5
           MVKL    .S1     _TIMER_getCount,A3 ; |29| 
           MVKH    .S1     _TIMER_getCount,A3 ; |29| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |29| 
           CALL    .S2X    A3                ; |29| 
           ADDKPC  .S2     RL6,B3,4          ; |29| 
RL6:       ; CALL OCCURS                     ; |29| 
	.line	6
           LDW     .D2T2   *++SP(8),B3       ; |30| 
           NOP             4
           RETNOP  .S2     B3,5              ; |30| 
           ; BRANCH OCCURS                   ; |30| 
	.endfunc	30,000080000h,8



	.sect	".text"
	.global	_timer_stop
	.sym	_timer_stop,_timer_stop, 46, 2, 0
	.func	32

;******************************************************************************
;* FUNCTION NAME: _timer_stop                                                 *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP,A16,A17,A18,A19,A20,A21,A22,A23,A24, *
;*                           A25,A26,A27,A28,A29,A30,A31,B16,B17,B18,B19,B20, *
;*                           B21,B22,B23,B24,B25,B26,B27,B28,B29,B30,B31      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,DP,SP,A16,A17,A18,A19,A20,A21,A22,A23,  *
;*                           A24,A25,A26,A27,A28,A29,A30,A31,B16,B17,B18,B19, *
;*                           B20,B21,B22,B23,B24,B25,B26,B27,B28,B29,B30,B31  *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                    *
;******************************************************************************
_timer_stop:
;** --------------------------------------------------------------------------*
	.line	2
           STW     .D2T2   B3,*SP--(8)       ; |33| 
           NOP             2
	.line	3
           MVKL    .S1     _TIMER_pause,A3   ; |34| 
           MVKH    .S1     _TIMER_pause,A3   ; |34| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |34| 
           CALL    .S2X    A3                ; |34| 
           ADDKPC  .S2     RL7,B3,4          ; |34| 
RL7:       ; CALL OCCURS                     ; |34| 
	.line	4
           MVKL    .S2     _TIMER_getCount,B4 ; |35| 
           MVKH    .S2     _TIMER_getCount,B4 ; |35| 
           CALL    .S2     B4                ; |35| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |35| 
           ADDKPC  .S2     RL8,B3,3          ; |35| 
RL8:       ; CALL OCCURS                     ; |35| 
	.line	5
           LDW     .D2T2   *++SP(8),B3       ; |36| 
           NOP             4
           RETNOP  .S2     B3,5              ; |36| 
           ; BRANCH OCCURS                   ; |36| 
	.endfunc	36,000080000h,8


;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	_TIMER_open
	.global	_TIMER_start
	.global	_TIMER_pause
	.global	_TIMER_setPeriod
	.global	_TIMER_getCount
	.global	_TIMER_setCount
	.global	_TIMER_config

;******************************************************************************
;* 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
	.sym	_TIMER_Config, 0, 8, 13, 96,$$fake1

⌨️ 快捷键说明

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