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

📄 lesson1_c.asm

📁 DSP培训 作业【源码】
💻 ASM
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.32 *
;* Date/Time created: Mon Nov 06 15:25:15 2006                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C64xx                                          *
;*   Optimization      : Enabled at level 3                                   *
;*   Optimizing for    : Speed                                                *
;*                       Based on options: -o3, no -ms                        *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Memory Model      : Small                                                *
;*   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

	.file	"lesson1_c.c"
;	c:\ti\c6000\cgtools\bin\opt6x.exe -v6400 -q -O3 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI1048_2 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI1048_5 -w ./Debug 

	.sect	".text"
	.global	_lesson1_c
	.sym	_lesson1_c,_lesson1_c, 32, 2, 0
	.func	22

;******************************************************************************
;* FUNCTION NAME: _lesson1_c                                                  *
;*                                                                            *
;*   Regs Modified     : A0,A3,A4,A5,A6,A7,A8,B0,B1,B4,B5,B6,B7,B8            *
;*   Regs Used         : A0,A3,A4,A5,A6,A7,A8,B0,B1,B3,B4,B5,B6,B7,B8,DP,SP   *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_lesson1_c:
;** --------------------------------------------------------------------------*
	.line	3
	.sym	_xptr,4, 19, 17, 32
	.sym	_yptr,20, 19, 17, 32
	.sym	_zptr,6, 19, 17, 32
	.sym	_w_sum,22, 19, 17, 32
	.sym	_N,8, 4, 17, 32
	.sym	_w2,21, 3, 4, 16
	.sym	_w1,6, 3, 4, 16
	.sym	_xptr,3, 19, 4, 32
	.sym	_yptr,20, 19, 4, 32
	.sym	_zptr,4, 19, 4, 32
	.sym	_w_sum,7, 19, 4, 32
	.sym	_N,16, 4, 4, 32

           MV      .D2X    A8,B0             ; |24| 
||         MV      .D1X    B6,A7             ; |24| 
||         MV      .S1     A6,A4             ; |24| 
||         MV      .L1     A4,A3             ; |24| 

	.line	7
           LDH     .D1T1   *A4,A6            ; |28| 
	.line	8
           LDH     .D1T2   *+A4(2),B5        ; |29| 
	.line	9
           CMPGT   .L2     B0,0,B1           ; |30| 
   [!B1]   BNOP    .S1     L6,5              ; |30| 
           ; BRANCH OCCURS                   ; |30| 
;** --------------------------------------------------------------------------*
	.line	11
           CMPGT   .L2     B0,4,B1
   [ B1]   BNOP    .S1     L2,5
           ; BRANCH OCCURS  
;** --------------------------------------------------------------------------*
;**   BEGIN LOOP L1
;** --------------------------------------------------------------------------*
L1:    
	.line	13
           LDH     .D2T2   *B4++,B6          ; |34| 
           LDH     .D1T1   *A3++,A4          ; |34| 
           NOP             3
           MPY     .M2     B6,B5,B6          ; |34| 
           MPY     .M1     A4,A6,A4          ; |34| 
           NOP             1
           ADD     .D1X    B6,A4,A4          ; |34| 
           SHR     .S1     A4,15,A4          ; |34| 
           STH     .D1T1   A4,*A7++          ; |34| 
	.line	14
           SUB     .D2     B0,1,B0           ; |35| 
   [ B0]   BNOP    .S1     L1,5              ; |35| 
           ; BRANCH OCCURS                   ; |35| 
;** --------------------------------------------------------------------------*
           BNOP    .S1     L6,5
           ; BRANCH OCCURS  
;** --------------------------------------------------------------------------*
L2:    
           MVC     .S2     CSR,B8
           AND     .D2     -2,B8,B6

           SUB     .D2     B0,3,B0
||         MVC     .S2     B6,CSR            ; interrupts off

;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line                 : 30
;*      Loop opening brace source line   : 31
;*      Loop closing brace source line   : 35
;*      Known Minimum Trip Count         : 1
;*      Known Max Trip Count Factor      : 1
;*      Loop Carried Dependency Bound(^) : 0
;*      Unpartitioned Resource Bound     : 2
;*      Partitioned Resource Bound(*)    : 2
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     0        0     
;*      .S units                     1        1     
;*      .D units                     2*       1     
;*      .M units                     1        1     
;*      .X cross paths               1        0     
;*      .T address paths             2*       1     
;*      Long read paths              0        0     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           0        0     (.L or .S unit)
;*      Addition ops (.LSD)          1        0     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             1        1     
;*      Bound(.L .S .D .LS .LSD)     2*       1     
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 2  Schedule found with 6 iterations in parallel
;*      Done
;*
;*      Epilog not removed
;*      Collapsed epilog stages     : 0
;*
;*      Prolog not entirely removed
;*      Collapsed prolog stages     : 3
;*
;*      Minimum required memory pad : 0 bytes
;*
;*      For further improvement on this loop, try option -mh10
;*
;*      Minimum safe trip count     : 5
;*----------------------------------------------------------------------------*
L3:    ; PIPED LOOP PROLOG
   [ B0]   BDEC    .S2     L4,B0             ; |35| (P) <0,5> 
           LDH     .D2T2   *B4++,B6          ; |34| (P) <0,0> 

           LDH     .D1T1   *A3++,A5          ; |34| (P) <0,1> 
|| [ B0]   BDEC    .S2     L4,B0             ; |35| (P) <1,5> 

           MVK     .D1     0x3,A0            ; init prolog collapse predicate
||         LDH     .D2T2   *B4++,B6          ; |34| (P) <1,0> 

;** --------------------------------------------------------------------------*
L4:    ; PIPED LOOP KERNEL

           SHR     .S1     A4,15,A8          ; |34| <0,9> 
|| [ B0]   BDEC    .S2     L4,B0             ; |35| <2,5> 
||         MPY     .M2     B6,B5,B7          ; |34| <2,5> 
||         LDH     .D1T1   *A3++,A5          ; |34| <4,1> 

   [ A0]   SUB     .S1     A0,1,A0           ; <0,10> 
|| [!A0]   STH     .D1T1   A8,*A7++          ; |34| <0,10> 
||         ADD     .L1X    B7,A4,A4          ; |34| <1,8> 
||         MPY     .M1     A5,A6,A4          ; |34| <2,6> 
||         LDH     .D2T2   *B4++,B6          ; |34| <5,0> 

;** --------------------------------------------------------------------------*
L5:    ; PIPED LOOP EPILOG

           MPY     .M2     B6,B5,B4          ; |34| (E) <3,5> 
||         LDH     .D1T1   *A3++,A5          ; |34| (E) <5,1> 
||         SHR     .S1     A4,15,A8          ; |34| (E) <1,9> 

           STH     .D1T1   A8,*A7++          ; |34| (E) <1,10> 
||         ADD     .S1X    B7,A4,A3          ; |34| (E) <2,8> 
||         MPY     .M1     A5,A6,A3          ; |34| (E) <3,6> 

           MPY     .M2     B6,B5,B4          ; |34| (E) <4,5> 
||         SHR     .S1     A3,15,A4          ; |34| (E) <2,9> 

           STH     .D1T1   A4,*A7++          ; |34| (E) <2,10> 
||         ADD     .S1X    B4,A3,A3          ; |34| (E) <3,8> 
||         MPY     .M1     A5,A6,A3          ; |34| (E) <4,6> 

           MPY     .M2     B6,B5,B4          ; |34| (E) <5,5> 
||         SHR     .S1     A3,15,A4          ; |34| (E) <3,9> 

           STH     .D1T1   A4,*A7++          ; |34| (E) <3,10> 
||         ADD     .S1X    B4,A3,A3          ; |34| (E) <4,8> 
||         MPY     .M1     A5,A6,A4          ; |34| (E) <5,6> 

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

           MVC     .S2     B8,CSR            ; interrupts on
||         SHR     .S1     A3,15,A3          ; |34| (E) <4,9> 

           STH     .D1T1   A3,*A7++          ; |34| (E) <4,10> 
||         ADD     .S1X    B4,A4,A3          ; |34| (E) <5,8> 

           SHR     .S1     A3,15,A3          ; |34| (E) <5,9> 
           STH     .D1T1   A3,*A7++          ; |34| (E) <5,10> 
;** --------------------------------------------------------------------------*
L6:    
	.line	16
           RETNOP  .S2     B3,5              ; |37| 
           ; BRANCH OCCURS                   ; |37| 
	.endfunc	37,000000000h,0



;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************

⌨️ 快捷键说明

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