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

📄 realtime.asm

📁 DM642 ti c6000 多任务/ 中断使用示例
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;******************************************************************************

;* TMS320C6x C/C++ Codegen                                    PC Version 4.32 *

;* Date/Time created: Fri May 16 15:03:02 2003                                *

;******************************************************************************



;******************************************************************************

;* GLOBAL FILE PARAMETERS                                                     *

;*                                                                            *

;*   Architecture      : TMS320C64xx                                          *

;*   Optimization      : Enabled at level 1                                   *

;*   Optimizing for    : Compile time 1st, size 2nd                           *

;*                       Based on options: -o1, -ms3                          *

;*   Endian            : Little                                               *

;*   Interrupt Thrshld : Disabled                                             *

;*   Memory Model      : Large                                                *

;*   Calls to RTS      : Far                                                  *

;*   Pipelining        : Disabled                                             *

;*   Memory Aliases    : Presume are aliases (pessimistic)                    *

;*   Debug Info        : COFF Debug                                           *

;*                                                                            *

;******************************************************************************



	.asg	A15, FP

	.asg	B14, DP

	.asg	B15, SP

	.global	$bss



	.file	"realtime.c"



	.sect	".cinit:c"

	.align	8

	.field  	(CIR - $) - 8, 32

	.field  	_timer0value+0,32

	.field  	0,32			; _timer0value @ 0



	.sect	".text"

	.global	_timer0value

_timer0value:	.usect	".bss:c",4,4

	.sym	_timer0value,_timer0value, 14, 2, 32



	.sect	".cinit:c"

	.align	4

	.field  	0,32			; _timer1value @ 0



	.sect	".text"

	.global	_timer1value

_timer1value:	.usect	".bss:c",4,4

	.sym	_timer1value,_timer1value, 14, 2, 32



	.sect	".cinit:c"

	.align	4

	.field  	0,32			; _timer2value @ 0



	.sect	".text"

	.global	_timer2value

_timer2value:	.usect	".bss:c",4,4

	.sym	_timer2value,_timer2value, 14, 2, 32



	.sect	".cinit:c"

	.align	4

	.field  	0,32			; _WhatIsrActive @ 0



	.sect	".text"

_WhatIsrActive:	.usect	".bss:c",4,4

	.sym	_WhatIsrActive,_WhatIsrActive, 10, 3, 32, $$fake5



	.sect	".cinit:c"

	.align	4

	.field  	0,32			; _Isr0 @ 0



	.sect	".text"

_Isr0:	.usect	".bss:c",4,4

	.sym	_Isr0,_Isr0, 14, 3, 32



	.sect	".cinit:c"

	.align	4

	.field  	0,32			; _Isr1 @ 0



	.sect	".text"

_Isr1:	.usect	".bss:c",4,4

	.sym	_Isr1,_Isr1, 14, 3, 32



	.sect	".cinit:c"

	.align	4

	.field  	0,32			; _Isr2 @ 0



	.sect	".text"

_Isr2:	.usect	".bss:c",4,4

	.sym	_Isr2,_Isr2, 14, 3, 32



	.sect	".const"

	.align 8

_AvgFirCoeff:

	.field  	2048,16			; _AvgFirCoeff[0] @ 0

	.field  	2048,16			; _AvgFirCoeff[1] @ 16

	.field  	2048,16			; _AvgFirCoeff[2] @ 32

	.field  	2048,16			; _AvgFirCoeff[3] @ 48

	.field  	2048,16			; _AvgFirCoeff[4] @ 64

	.field  	2048,16			; _AvgFirCoeff[5] @ 80

	.field  	2048,16			; _AvgFirCoeff[6] @ 96

	.field  	2048,16			; _AvgFirCoeff[7] @ 112

	.field  	2048,16			; _AvgFirCoeff[8] @ 128

	.field  	2048,16			; _AvgFirCoeff[9] @ 144

	.field  	2048,16			; _AvgFirCoeff[10] @ 160

	.field  	2048,16			; _AvgFirCoeff[11] @ 176

	.field  	2048,16			; _AvgFirCoeff[12] @ 192

	.field  	2048,16			; _AvgFirCoeff[13] @ 208

	.field  	2048,16			; _AvgFirCoeff[14] @ 224

	.field  	2048,16			; _AvgFirCoeff[15] @ 240



	.sect	".text"

	.global	_AvgFirCoeff

	.sym	_AvgFirCoeff,_AvgFirCoeff, 51, 2, 256,, 16

	.bss	_OutputDataMem,2,2

	.sym	_OutputDataMem,_OutputDataMem, 3, 3, 16



	.sect	".cinit:c"

	.align	4

	.field  	_OutputDataMem,32		; _OutputDataPtr @ 0



	.sect	".text"

	.global	_OutputDataPtr

_OutputDataPtr:	.usect	".bss:c",4,4

	.sym	_OutputDataPtr,_OutputDataPtr, 19, 2, 32



	.sect	".cinit:c"

	.align	4

	.field  	4,32			; _GUARD_BITS @ 0



	.sect	".text"

	.global	_GUARD_BITS

_GUARD_BITS:	.usect	".bss:c",4,4

	.sym	_GUARD_BITS,_GUARD_BITS, 4, 2, 32



	.sect	".cinit:c"

	.align	2

	.field  	31821,16			; _Mult @ 0



	.sect	".text"

	.global	_Mult

_Mult:	.usect	".bss:c",2,2

	.sym	_Mult,_Mult, 3, 2, 16



	.sect	".cinit:c"

	.align	2

	.field  	13849,16			; _Inc @ 0



	.sect	".text"

	.global	_Inc

_Inc:	.usect	".bss:c",2,2

	.sym	_Inc,_Inc, 3, 2, 16

_x$1:	.usect	".far",32,8

	.sym	_x,_x$1, 51, 3, 256,, 16



	.sect	".cinit:c"

	.align	2

	.field  	21845,16			; _Seed$2 @ 0



	.sect	".text"

_Seed$2:	.usect	".bss:c",2,2

	.sym	_Seed,_Seed$2, 3, 3, 16

;	c:\ti\c6000\cgtools\bin\opt6x.exe -i0 -v6416 -q -O1 -Z3 C:\DOCUME~1\a0322200\LOCALS~1\Temp\TI108_2 C:\DOCUME~1\a0322200\LOCALS~1\Temp\TI108_5 



	.sect	".text"

	.global	_main

	.sym	_main,_main, 36, 2, 0

	.func	66



;******************************************************************************

;* FUNCTION NAME: _main                                                       *

;*                                                                            *

;*   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,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 + 4 Auto + 4 Save = 8 byte                    *

;******************************************************************************



;******************************************************************************

;*                                                                            *

;* Using -g (debug) with optimization (-o1) may disable key optimizations!    *

;*                                                                            *

;******************************************************************************

_main:

;** --------------------------------------------------------------------------*

	.line	2

	.sym	_i,3, 4, 4, 32

	.sym	_Result,4, 3, 4, 16

	.sym	_KeepRunning,4, 4, 1, 32

           STW     .D2T2   B3,*SP--(8)       ; |67| 

	.line	3

           MVK     .D2     1,B4              ; |68| 

           STW     .D2T2   B4,*+SP(4)        ; |68| 

           MVKL    .S1     _CSL6416_LIB_,A3  ; |152| 

           MVKH    .S1     _CSL6416_LIB_,A3  ; |152| 

           CALL    .S2X    A3                ; |152| 

           ADDKPC  .S2     RL0,B3,4          ; |152| 

RL0:       ; CALL OCCURS                     ; |152| 

           MVKL    .S2     __CSL_init,B4     ; |156| 

           MVKH    .S2     __CSL_init,B4     ; |156| 

           CALL    .S2     B4                ; |156| 

           ADDKPC  .S2     RL1,B3,3          ; |156| 

           MVK     .D1     0xffffffff,A4     ; |156| 

RL1:       ; CALL OCCURS                     ; |156| 

	.line	8

           MVKL    .S1     _ConfigureAllTimers,A3 ; |73| 

           MVKH    .S1     _ConfigureAllTimers,A3 ; |73| 

           CALL    .S2X    A3                ; |73| 

           ADDKPC  .S2     RL2,B3,4          ; |73| 

RL2:       ; CALL OCCURS                     ; |73| 

	.line	10



           ZERO    .D1     A3                ; |75| 

||         ZERO    .L1     A6                ; |76| 

||         MVK     .S1     16,A5             ; |76| 



;*----------------------------------------------------------------------------*

;*   SOFTWARE PIPELINE INFORMATION

;*      Disqualified loop: Software pipelining disabled

;*----------------------------------------------------------------------------*

L1:    

	.line	11

           MVKL    .S1     _x$1,A4           ; |76| 

           MVKH    .S1     _x$1,A4           ; |76| 



           ADD     .S1     1,A3,A3           ; |76| 

||         STH     .D1T1   A6,*+A4[A3]       ; |76| 



           CMPLT   .L1     A3,A5,A0          ; |76| 

   [ A0]   BNOP    .S1     L1,5              ; |76| 

           ; BRANCH OCCURS                   ; |76| 

;** --------------------------------------------------------------------------*

	.line	14

           MVKL    .S1     _SetupInterrupts,A3 ; |79| 

           MVKH    .S1     _SetupInterrupts,A3 ; |79| 

           CALL    .S2X    A3                ; |79| 

           ADDKPC  .S2     RL3,B3,4          ; |79| 

RL3:       ; CALL OCCURS                     ; |79| 

	.line	18

           BNOP    .S1     L3,5              ; |83| 

           ; BRANCH OCCURS                   ; |83| 

;** --------------------------------------------------------------------------*

L2:    

	.line	22

           MVKL    .S1     _InputData,A3     ; |87| 

           MVKH    .S1     _InputData,A3     ; |87| 

           CALL    .S2X    A3                ; |87| 

           ADDKPC  .S2     RL4,B3,4          ; |87| 

RL4:       ; CALL OCCURS                     ; |87| 

           MVKL    .S1     _x$1,A3           ; |87| 

           MVKH    .S1     _x$1,A3           ; |87| 

           STH     .D1T1   A4,*A3            ; |87| 

	.line	23

           MVKL    .S1     _Fir32,A5         ; |88| 

           MVKH    .S1     _Fir32,A5         ; |88| 

           CALL    .S2X    A5                ; |88| 

           MVKL    .S2     _AvgFirCoeff,B4   ; |88| 

           MVKH    .S2     _AvgFirCoeff,B4   ; |88| 

           ADDKPC  .S2     RL5,B3,1          ; |88| 

           MV      .D1     A3,A4             ; |88| 

RL5:       ; CALL OCCURS                     ; |88| 

           EXT     .S1     A4,1,16,A4        ; |88| 

	.line	25

           MVKL    .S2     _OutputData,B4    ; |90| 

           MVKH    .S2     _OutputData,B4    ; |90| 

           CALL    .S2     B4                ; |90| 

           ADDKPC  .S2     RL6,B3,4          ; |90| 

RL6:       ; CALL OCCURS                     ; |90| 

;*----------------------------------------------------------------------------*

;*   SOFTWARE PIPELINE INFORMATION

;*      Disqualified loop: Software pipelining disabled

;*----------------------------------------------------------------------------*

L3:    

	.line	26

           LDW     .D2T2   *+SP(4),B0        ; |91| 

           NOP             4

   [ B0]   BNOP    .S1     L2,5              ; |91| 

           ; BRANCH OCCURS                   ; |91| 

;** --------------------------------------------------------------------------*

	.line	27

           ZERO    .D1     A4                ; |92| 

	.line	28

           LDW     .D2T2   *++SP(8),B3       ; |93| 

           NOP             4

           RETNOP  .S2     B3,5              ; |93| 

           ; BRANCH OCCURS                   ; |93| 

	.endfunc	93,000080000h,8







	.sect	".text"

	.global	_InputData

	.sym	_InputData,_InputData, 35, 2, 0

	.func	101



;******************************************************************************

;* FUNCTION NAME: _InputData                                                  *

;*                                                                            *

;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *

⌨️ 快捷键说明

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