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

📄 timer.asm

📁 dsp6416开发的底层驱动
💻 ASM
字号:
;******************************************************************************
;* TMS320C6x ANSI C Codegen                                      Version 4.20 *
;* Date/Time created: Sat Jan 10 16:56:00 2004                                *
;******************************************************************************

;******************************************************************************
;* 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        : Debug                                                *
;*                                                                            *
;******************************************************************************

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

	.file	"timer.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:\ti\c6000\cgtools\bin\acp6x.exe -q -I../include -D_DEBUG -DCHIP_6400 --version=6400 -Ic:/ti/c6000/bios/include -Ic:/ti/c6000/rtdx/include -Ic:/ti/c6000/cgtools/include --keep_unneeded_types -m --i_output_file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI1108_2 --template_info_file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI1108_3 --object_file E:/zcl/lxm/myprojects/mypost/Debug/timer.obj --opt_shell 13 timer.c -g -k -q -al -frE:/zcl/lxm/myprojects/mypost/Debug -i../include -d_DEBUG -dCHIP_6400 -mv6400 
	.sect	".text"
	.global	_TIMER_Init
	.sym	_TIMER_Init,_TIMER_Init, 32, 2, 0
	.func	73

;******************************************************************************
;* 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,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                  *
;******************************************************************************
_TIMER_Init:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_myTimerConfig,4, 8, 1, 96, $$fake1
           STW     .D2T2   B3,*SP--(16)      ; |74| 
           NOP             2
	.line	6
           MVKL    .S1     _TIMER_open,A3    ; |78| 
           MVKH    .S1     _TIMER_open,A3    ; |78| 
           MVK     .D2     0x1,B4            ; |78| 
           B       .S2X    A3                ; |78| 
           ADDKPC  .S2     RL0,B3,3          ; |78| 
           MVK     .D1     0xffffffff,A4     ; |78| 
RL0:       ; CALL OCCURS                     ; |78| 
           STW     .D2T1   A4,*+DP(_hTimer)  ; |78| 
           NOP             2
	.line	7
           MVKL    .S2     _TIMER_getConfig,B5 ; |79| 
           MVKH    .S2     _TIMER_getConfig,B5 ; |79| 
           B       .S2     B5                ; |79| 
           ADDKPC  .S2     RL2,B3,3          ; |79| 
           ADD     .D2     4,SP,B4           ; |79| 
RL2:       ; CALL OCCURS                     ; |79| 
	.line	8
           LDW     .D2T2   *+SP(4),B4        ; |80| 
           NOP             1
           MVKL    .S1     0xff3f,A3         ; |80| 
           MVKH    .S1     0xff3f,A3         ; |80| 
           NOP             1
           AND     .D2X    A3,B4,B4          ; |80| 
           STW     .D2T2   B4,*+SP(4)        ; |80| 
           NOP             2
	.line	9
           SET     .S2     B4,9,9,B4         ; |81| 
           STW     .D2T2   B4,*+SP(4)        ; |81| 
           NOP             2
	.line	10
           MVK     .D2     -1,B4             ; |82| 
           STW     .D2T2   B4,*+SP(8)        ; |82| 
           NOP             2
	.line	11
           ZERO    .D2     B4
           STW     .D2T2   B4,*+SP(12)       ; |83| 
           NOP             2
	.line	12
           MVKL    .S1     _TIMER_config,A3  ; |84| 
           MVKH    .S1     _TIMER_config,A3  ; |84| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |84| 
           B       .S2X    A3                ; |84| 
           ADDKPC  .S2     RL4,B3,3          ; |84| 
           ADD     .D2     4,SP,B4           ; |84| 
RL4:       ; CALL OCCURS                     ; |84| 
	.line	14
           MVKL    .S1     _TIMER_start,A3   ; |86| 
           MVKH    .S1     _TIMER_start,A3   ; |86| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |86| 
           B       .S2X    A3                ; |86| 
           ADDKPC  .S2     RL6,B3,4          ; |86| 
RL6:       ; CALL OCCURS                     ; |86| 
	.line	15
           MVKL    .S2     _TIMER_pause,B4   ; |87| 
           MVKH    .S2     _TIMER_pause,B4   ; |87| 
           B       .S2     B4                ; |87| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |87| 
           ADDKPC  .S2     RL8,B3,3          ; |87| 
RL8:       ; CALL OCCURS                     ; |87| 
	.line	16
           LDW     .D2T2   *++SP(16),B3      ; |88| 
           NOP             4
           BNOP    .S2     B3,5
           ; BRANCH OCCURS                   ; |88| 
	.endfunc	88,000080000h,16


	.sect	".text"
	.global	_TIMER_DelayMsec
	.sym	_TIMER_DelayMsec,_TIMER_DelayMsec, 32, 2, 0
	.func	99

;******************************************************************************
;* FUNCTION NAME: _TIMER_DelayMsec                                            *
;*                                                                            *
;*   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 + 16 Auto + 4 Save = 20 byte                  *
;******************************************************************************
_TIMER_DelayMsec:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_msec,4, 3, 17, 16
	.sym	_msec,4, 3, 1, 16
	.sym	_timer_limit,8, 14, 1, 32
	.sym	_time_start,12, 14, 1, 32
	.sym	_time_current,16, 14, 1, 32
           STW     .D2T2   B3,*SP--(24)      ; |100| 
           NOP             2
           STH     .D2T1   A4,*+SP(4)        ; |100| 
           NOP             2
	.line	5
           LDH     .D2T2   *+SP(4),B4        ; |103| 
           NOP             1
           MVKL    .S1     0xf424,A3         ; |103| 
           MVKH    .S1     0xf424,A3         ; |103| 
           NOP             1
           MPYUS   .M2X    A3,B4,B4          ; |103| 
           NOP             1
           STW     .D2T2   B4,*+SP(8)        ; |103| 
           NOP             2
	.line	9
           LDW     .D2T2   *+DP(_hTimer),B0  ; |107| 
           NOP             4
   [!B0]   BNOP    .S1     L2,5
           ; BRANCH OCCURS                   ; |107| 
;** --------------------------------------------------------------------------*
	.line	10
	.line	12
           MVKL    .S2     _TIMER_getCount,B4 ; |110| 
           MVKH    .S2     _TIMER_getCount,B4 ; |110| 
           B       .S2     B4                ; |110| 
           ADDKPC  .S2     RL10,B3,0         ; |110| 
           MV      .D1X    B0,A4             ; |110| 
           NOP             3
RL10:      ; CALL OCCURS                     ; |110| 
           STW     .D2T1   A4,*+SP(12)       ; |110| 
           NOP             2
	.line	13
           MVKL    .S1     _TIMER_resume,A3  ; |111| 
           MVKH    .S1     _TIMER_resume,A3  ; |111| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |111| 
           B       .S2X    A3                ; |111| 
           ADDKPC  .S2     RL12,B3,4         ; |111| 
RL12:      ; CALL OCCURS                     ; |111| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: software pipelining disabled
;*----------------------------------------------------------------------------*
L1:    
	.line	16
           MVKL    .S1     _TIMER_getCount,A3 ; |114| 
           MVKH    .S1     _TIMER_getCount,A3 ; |114| 
           LDW     .D2T1   *+DP(_hTimer),A4  ; |114| 
           B       .S2X    A3                ; |114| 
           ADDKPC  .S2     RL14,B3,4         ; |114| 
RL14:      ; CALL OCCURS                     ; |114| 
           STW     .D2T1   A4,*+SP(16)       ; |114| 
           NOP             2
	.line	17
           LDW     .D2T2   *+SP(12),B5       ; |115| 
           LDW     .D2T2   *+SP(8),B4        ; |115| 
           NOP             3
           SUB     .S2X    A4,B5,B5
           CMPLTU  .L2     B5,B4,B0          ; |115| 
   [ B0]   BNOP    .S1     L1,5
           ; BRANCH OCCURS                   ; |115| 
;** --------------------------------------------------------------------------*
L2:    
	.line	19
           LDW     .D2T2   *++SP(24),B3      ; |117| 
           NOP             4
           BNOP    .S2     B3,5
           ; BRANCH OCCURS                   ; |117| 
	.endfunc	117,000080000h,24


;******************************************************************************
;* MARK THE END OF THE SCALAR INIT RECORD IN CINIT:C                          *
;******************************************************************************
CIR:	.sect	".cinit:c"
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	_TIMER_open
	.global	_TIMER_start
	.global	_TIMER_pause
	.global	_TIMER_resume
	.global	_TIMER_getCount
	.global	_TIMER_config
	.global	_TIMER_getConfig

;******************************************************************************
;* 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 + -