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

📄 func.asm

📁 DSP培训 作业【源码】
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.32 *
;* Date/Time created: Sun Nov 05 21:56:55 2006                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C620x                                          *
;*   Optimization      : Enabled at level 3                                   *
;*   Optimizing for    : Speed                                                *
;*                       Based on options: -o3, no -ms                        *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Memory Model      : Large                                                *
;*   Calls to RTS      : Near                                                 *
;*   Pipelining        : Enabled                                              *
;*   Speculative Load  : Disabled                                             *
;*   Memory Aliases    : Presume are aliases (pessimistic)                    *
;*   Debug Info        : COFF Debug                                           *
;*                                                                            *
;******************************************************************************

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

	.global	_input
_input:	.usect	".far",1024,4
	.sym	_input,_input, 54, 2, 8192,, 256
	.global	_output
_output:	.usect	".far",1024,4
	.sym	_output,_output, 54, 2, 8192,, 256
	.global	_input2
_input2:	.usect	".far",1024,4
	.sym	_input2,_input2, 54, 2, 8192,, 256
;	c:\ti\c6000\cgtools\bin\opt6x.exe -p3 -p3 -q -s -O3 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI3976_8 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI3976_9 -w D:/TMS320C6204training/5thday/src/registerVar/Debug 

	.sect	".text"
	.global	_func1
	.file	"D:\TMS320C6204training\5thday\src\registerVar\func.c"
	.sym	_func1,_func1, 32, 2, 0
	.func	8

;******************************************************************************
;* FUNCTION NAME: _func1                                                      *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,   *
;*                           A15,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,SP             *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,   *
;*                           A15,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,SP             *
;*   Local Frame Size  : 0 Args + 0 Auto + 28 Save = 28 byte                  *
;******************************************************************************

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_func1:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_output,4, 22, 17, 32
	.sym	_Array,20, 22, 17, 32
	.sym	_preArray,6, 22, 17, 32
	.sym	_preArray,6, 22, 4, 32
	.sym	_Array,20, 22, 4, 32
	.sym	_output,4, 22, 4, 32
	.sym	_s_f,13, 22, 4, 32
	.sym	_s,11, 22, 4, 32
	.sym	_pre_s,12, 22, 4, 32
	.sym	L$1,10, 4, 4, 32
;** 17	-----------------------    s = output;
;** 18	-----------------------    s_f = Array;
;** 19	-----------------------    pre_s = preArray;
;** 23	-----------------------    L$1 = 256;
;**  	-----------------------    #pragma MUST_ITERATE(256, 256, 256)
;**  	-----------------------    #pragma LOOP_FLAGS(4096u)
           STW     .D2T1   A15,*SP--(32)     ; |9| 
           STW     .D2T2   B3,*+SP(28)       ; |9| 
           STW     .D2T1   A14,*+SP(24)      ; |9| 
           STW     .D2T1   A13,*+SP(20)      ; |9| 
           STW     .D2T1   A12,*+SP(16)      ; |9| 
           STW     .D2T1   A11,*+SP(12)      ; |9| 
           STW     .D2T1   A10,*+SP(8)       ; |9| 
	.line	10
           MV      .D1     A4,A11            ; |17| 
	.line	11
           MV      .S1X    B4,A13            ; |18| 
	.line	12
           MV      .D1     A6,A12            ; |19| 
	.line	16
           MVK     .S1     0x100,A10         ; |23| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
L1:    
;**	-----------------------g2:
;** 25	-----------------------    *s++ = (double)*pre_s++*0.299999999999999988898+(double)*s_f++*0.400000000000000022204;
;** 29	-----------------------    if ( --L$1 ) goto g2;
;**  	-----------------------    return;
	.line	18
           CALL    .S1     __cvtfd           ; |25| 
           LDW     .D1T1   *A12++,A4         ; |25| 
           MVKL    .S2     RL11,B3           ; |25| 
           MVKH    .S2     RL11,B3           ; |25| 
           NOP             2
RL11:      ; CALL OCCURS                     ; |25| 

           MVKL    .S2     0x3fd33333,B5     ; |25| 
||         CALL    .S1     __mpyd            ; |25| 

           MVKL    .S2     0x33333333,B4     ; |25| 
           MVKH    .S2     0x3fd33333,B5     ; |25| 
           MVKL    .S2     RL12,B3           ; |25| 
           MVKH    .S2     0x33333333,B4     ; |25| 
           MVKH    .S2     RL12,B3           ; |25| 
RL12:      ; CALL OCCURS                     ; |25| 
           CALL    .S1     __cvtfd           ; |25| 

           LDW     .D1T1   *A13++,A4         ; |25| 
||         MV      .S1     A4,A15            ; |25| 

           MVKL    .S2     RL13,B3           ; |25| 
           MVKH    .S2     RL13,B3           ; |25| 
           MV      .D1     A5,A14            ; |25| 
           NOP             1
RL13:      ; CALL OCCURS                     ; |25| 

           CALL    .S1     __mpyd            ; |25| 
||         MVKL    .S2     0x3fd99999,B5     ; |25| 

           MVKL    .S2     0x9999999a,B4     ; |25| 
           MVKH    .S2     0x3fd99999,B5     ; |25| 
           MVKL    .S2     RL14,B3           ; |25| 
           MVKH    .S2     0x9999999a,B4     ; |25| 
           MVKH    .S2     RL14,B3           ; |25| 
RL14:      ; CALL OCCURS                     ; |25| 
           CALL    .S1     __addd            ; |25| 
           MV      .L2X    A4,B4             ; |25| 
           MVKL    .S2     RL15,B3           ; |25| 
           MV      .S1     A15,A4            ; |25| 
           MV      .L2X    A5,B5             ; |25| 

           MV      .D1     A14,A5            ; |25| 
||         MVKH    .S2     RL15,B3           ; |25| 

RL15:      ; CALL OCCURS                     ; |25| 
           CALL    .S1     __cvtdf           ; |25| 
           MVKL    .S2     RL16,B3           ; |25| 
           MVKH    .S2     RL16,B3           ; |25| 
           NOP             3
RL16:      ; CALL OCCURS                     ; |25| 
           STW     .D1T1   A4,*A11++         ; |25| 
	.line	22
           SUB     .D1     A10,1,A1          ; |29| 
   [ A1]   B       .S1     L1                ; |29| 
           SUB     .D1     A10,1,A10         ; |29| 
           NOP             4
           ; BRANCH OCCURS                   ; |29| 
;** --------------------------------------------------------------------------*
	.line	24
           LDW     .D2T2   *+SP(28),B3       ; |31| 
           LDW     .D2T1   *+SP(20),A13      ; |31| 
           LDW     .D2T1   *+SP(16),A12      ; |31| 
           LDW     .D2T1   *+SP(12),A11      ; |31| 
           LDW     .D2T1   *+SP(8),A10       ; |31| 

           RET     .S2     B3                ; |31| 
||         LDW     .D2T1   *+SP(24),A14      ; |31| 

           LDW     .D2T1   *++SP(32),A15     ; |31| 
           NOP             4
           ; BRANCH OCCURS                   ; |31| 
	.endfunc	31,00008fc00h,32



	.sect	".text"
	.global	_func2
	.sym	_func2,_func2, 32, 2, 0
	.func	34

;******************************************************************************
;* FUNCTION NAME: _func2                                                      *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,B0,B1, *
;*                           B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,SP           *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,B0,B1, *
;*                           B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,SP           *
;*   Local Frame Size  : 0 Args + 0 Auto + 32 Save = 32 byte                  *
;******************************************************************************

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_func2:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_output,4, 22, 17, 32
	.sym	_Array,20, 22, 17, 32
	.sym	_preArray,6, 22, 17, 32
	.sym	_preArray,6, 22, 4, 32
	.sym	_Array,20, 22, 4, 32
	.sym	_output,4, 22, 4, 32
	.sym	_s_f,26, 22, 4, 32
	.sym	_s,13, 22, 4, 32
	.sym	_pre_s,12, 22, 4, 32
	.sym	L$1,11, 4, 4, 32
	.sym	K$9,27, 6, 4, 32
	.sym	K$12,28, 6, 4, 32
;** 49	-----------------------    s = output;
;** 50	-----------------------    s_f = Array;
;** 51	-----------------------    pre_s = preArray;
;** 55	-----------------------    L$1 = 256;
;**  	-----------------------    K$12 = 0.400000005960464477539F;
;**  	-----------------------    K$9 = 0.300000011920928955078F;
;**  	-----------------------    #pragma MUST_ITERATE(256, 256, 256)
;**  	-----------------------    #pragma LOOP_FLAGS(4096u)

           STW     .D2T2   B12,*SP--(32)     ; |35| 
||         MV      .S1X    SP,A9             ; |35| 

           STW     .D1T1   A10,*-A9(28)

           STW     .D1T1   A12,*-A9(20)
||         STW     .D2T2   B11,*+SP(28)

           STW     .D2T2   B10,*+SP(24)
||         STW     .D1T1   A11,*-A9(24)

           STW     .D1T1   A13,*-A9(16)
||         STW     .D2T2   B3,*+SP(20)

	.line	16
           MV      .D1     A4,A13            ; |49| 
	.line	17
           MV      .D2     B4,B10            ; |50| 
	.line	18

⌨️ 快捷键说明

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