📄 timer.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 + -