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

📄 dbgm.asm

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

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

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

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



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

;* GLOBAL FILE PARAMETERS                                                     *

;*                                                                            *

;*   Architecture      : TMS320C64xx                                          *

;*   Optimization      : Disabled                                             *

;*   Optimizing for    : Compile time, Ease of Development                    *

;*                       Based on options: no -o, -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	"dbgm.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\acp6x.exe -@C:\DOCUME~1\a0322200\LOCALS~1\Temp\TI876_4 



	.sect	".text"

	.file	"c:/ti/c6000/bios/include/csl.h"

	.sym	_CSL_init,_CSL_init, 32, 3, 0

	.func	119



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

;* FUNCTION NAME: _CSL_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,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                    *

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

_CSL_init:

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

	.line	1

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

           NOP             2

	.line	34

           MVKL    .S2     _CSL6416_LIB_,B4  ; |152| 

           MVKH    .S2     _CSL6416_LIB_,B4  ; |152| 

           CALL    .S2     B4                ; |152| 

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

RL0:       ; CALL OCCURS                     ; |152| 

	.line	38

           MVKL    .S1     __CSL_init,A3     ; |156| 

           MVKH    .S1     __CSL_init,A3     ; |156| 

           CALL    .S2X    A3                ; |156| 

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

           MVK     .D1     0xffffffff,A4     ; |156| 

RL1:       ; CALL OCCURS                     ; |156| 

	.line	39

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

           NOP             4

           RETNOP  .S2     B3,5              ; |157| 

           ; BRANCH OCCURS                   ; |157| 

	.endfunc	157,000080000h,8







	.sect	".text"

	.global	_main

	.file	"dbgm.c"

	.sym	_main,_main, 36, 2, 0

	.func	68



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

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

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

_main:

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

	.line	2

	.sym	_KeepRunning,4, 4, 1, 32

	.sym	_i,8, 4, 1, 32

           STW     .D2T2   B3,*SP--(16)      ; |69| 

           NOP             2

	.line	3

           MVK     .D2     1,B4              ; |70| 

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

           NOP             2

	.line	7

           MVKL    .S2     _CSL_init,B4      ; |74| 

           MVKH    .S2     _CSL_init,B4      ; |74| 

           CALL    .S2     B4                ; |74| 

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

RL2:       ; CALL OCCURS                     ; |74| 

	.line	8

           MVKL    .S1     _ConfigureAllTimers,A3 ; |75| 

           MVKH    .S1     _ConfigureAllTimers,A3 ; |75| 

           CALL    .S2X    A3                ; |75| 

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

RL3:       ; CALL OCCURS                     ; |75| 

	.line	10

           ZERO    .D2     B4                ; |77| 



           MVK     .S2     16,B4             ; |77| 

||         STW     .D2T2   B4,*+SP(8)        ; |77| 

||         ZERO    .L2     B5                ; |77| 



           CMPLT   .L2     B5,B4,B0          ; |77| 

   [!B0]   BNOP    .S1     L2,4              ; |77| 



           ZERO    .D2     B6                ; |78| 

||         MVK     .S2     16,B7             ; |78| 



           ; BRANCH OCCURS                   ; |77| 

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

;*   SOFTWARE PIPELINE INFORMATION

;*      Disqualified loop: Software pipelining disabled

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

L1:    

	.line	11

           LDW     .D2T2   *+SP(8),B5        ; |78| 

           NOP             2

           MVKL    .S2     _x$1,B4           ; |78| 

           MVKH    .S2     _x$1,B4           ; |78| 

           STH     .D2T2   B6,*+B4[B5]       ; |78| 

           LDW     .D2T2   *+SP(8),B4        ; |78| 

           NOP             4

           ADD     .D2     1,B4,B4           ; |78| 

           CMPLT   .L2     B4,B7,B0          ; |78| 

   [ B0]   BNOP    .S1     L1,4              ; |78| 

           STW     .D2T2   B4,*+SP(8)        ; |78| 

           ; BRANCH OCCURS                   ; |78| 

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

L2:    

	.line	14

           MVKL    .S2     _SelectTimeCriticalInterrupts,B4 ; |81| 

           MVKH    .S2     _SelectTimeCriticalInterrupts,B4 ; |81| 

           CALL    .S2     B4                ; |81| 

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

RL4:       ; CALL OCCURS                     ; |81| 

	.line	16

           MVKL    .S1     _SetupInterrupts,A3 ; |83| 

           MVKH    .S1     _SetupInterrupts,A3 ; |83| 

           CALL    .S2X    A3                ; |83| 

           ADDKPC  .S2     RL5,B3,4          ; |83| 

RL5:       ; CALL OCCURS                     ; |83| 

	.line	19

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

           NOP             4

   [!B0]   BNOP    .S1     L4,5              ; |86| 

           ; BRANCH OCCURS                   ; |86| 

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

;*   SOFTWARE PIPELINE INFORMATION

;*      Disqualified loop: Software pipelining disabled

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

L3:    

	.sym	_Result,12, 3, 1, 16

	.block	20

	.line	23

           MVKL    .S2     _InputData,B4     ; |90| 

           MVKH    .S2     _InputData,B4     ; |90| 

           CALL    .S2     B4                ; |90| 

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

RL6:       ; CALL OCCURS                     ; |90| 

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

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

           STH     .D1T1   A4,*A3            ; |90| 

           NOP             2

	.line	24

           MVKL    .S1     _Fir32,A3         ; |91| 

           MVKH    .S1     _Fir32,A3         ; |91| 

           CALL    .S2X    A3                ; |91| 

           MVKL    .S1     _AvgFirCoeff,A4   ; |91| 

           MVKL    .S2     _x$1,B5           ; |91| 

           MVKH    .S1     _AvgFirCoeff,A4   ; |91| 

           MVKH    .S2     _x$1,B5           ; |91| 



           ADDKPC  .S2     RL7,B3,0          ; |91| 

||         MV      .D1X    B5,A4             ; |91| 

||         MV      .D2X    A4,B4             ; |91| 



RL7:       ; CALL OCCURS                     ; |91| 

           SHR     .S1     A4,15,A3          ; |91| 

           STH     .D2T1   A3,*+SP(12)       ; |91| 

           NOP             2

	.line	26

           MVKL    .S2     _OutputData,B4    ; |93| 

           MVKH    .S2     _OutputData,B4    ; |93| 

           CALL    .S2     B4                ; |93| 

           LDH     .D2T1   *+SP(12),A4       ; |93| 

           ADDKPC  .S2     RL8,B3,3          ; |93| 

⌨️ 快捷键说明

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