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

📄 demodulation_short.asm

📁 ofdm project for Tms320C6000,完整
💻 ASM
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.36 *
;* Date/Time created: Thu May 12 14:28:05 2005                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C671x                                          *
;*   Optimization      : Enabled at level 3                                   *
;*   Optimizing for    : Speed 1st, size 2nd                                  *
;*                       Based on options: -o3, -ms1                          *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Memory Model      : Large                                                *
;*   Calls to RTS      : Far                                                  *
;*   Pipelining        : Limited                                              *
;*   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	"demodulation_short.c"
;	c:\ti\c6000\cgtools\bin\opt6x.exe -i0 -v6710 -q -O3 -Z1 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI3580_2 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI3580_5 -w C:/ti/myprojects/recieverEDMA/Debug 

	.sect	".text"
	.global	_demodulation_short
	.sym	_demodulation_short,_demodulation_short, 32, 2, 0
	.func	23

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

;******************************************************************************
;*                                                                            *
;* Using -g (debug) with optimization (-o3) may disable key optimizations!    *
;*                                                                            *
;******************************************************************************
_demodulation_short:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_input,4, 19, 17, 32
	.sym	_output,20, 30, 17, 32
	.sym	_b,6, 19, 17, 32
	.sym	_e,22, 22, 17, 32
	.sym	_h,8, 22, 17, 32
	.sym	_i,6, 3, 4, 16
	.sym	_input,5, 19, 4, 32
	.sym	_output,7, 30, 4, 32
	.sym	_b,25, 19, 4, 32
	.sym	_tmp,20, 3, 4, 16
	.sym	_tmp,21, 3, 4, 16
	.sym	_b2,4, 51, 1, 2048,, 128
	.sym	_b3,260, 51, 1, 2048,, 128
           ADDK    .S2     -512,SP           ; |24| 

           MV      .D1     A4,A5             ; |24| 
||         MV      .S1X    B4,A7             ; |24| 
||         MV      .S2X    A6,B9             ; |24| 

	.line	11
           ZERO    .D2     B5                ; |33| 
           STH     .D2T2   B5,*+SP(4)        ; |33| 
	.line	12
           MVK     .S2     260,B4

           ADD     .S2     6,SP,B6
||         MVK     .S1     0x20,A3
||         STH     .D2T2   B5,*+SP(260)      ; |34| 
||         ADD     .L2     B4,SP,B7

	.line	25
           MVK     .S2     0x7f,B8           ; |47| 
	.line	6
           MVC     .S2     CSR,B1
           AND     .S2     -2,B1,B4

           ZERO    .D2     B4                ; |28| 
||         MV      .S1X    B7,A0
||         MVC     .S2     B4,CSR            ; interrupts off

           SUB     .D2     B8,1,B0
||         ADD     .S2     1,B4,B8           ; |53| (P) <0,0> 
||         LDH     .D1T1   *A0++,A4          ; |49| (P) <0,0>  ^ 

;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line                 : 47
;*      Loop opening brace source line   : 48
;*      Loop closing brace source line   : 56
;*      Known Minimum Trip Count         : 127
;*      Known Maximum Trip Count         : 127
;*      Known Max Trip Count Factor      : 127
;*      Loop Carried Dependency Bound(^) : 10
;*      Unpartitioned Resource Bound     : 2
;*      Partitioned Resource Bound(*)    : 3
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     1        0     
;*      .S units                     1        2     
;*      .D units                     2        2     
;*      .M units                     0        0     
;*      .X cross paths               0        0     
;*      .T address paths             2        2     
;*      Long read paths              1        2     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           0        0     (.L or .S unit)
;*      Addition ops (.LSD)          2        3     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             1        1     
;*      Bound(.L .S .D .LS .LSD)     2        3*    
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 10 Schedule found with 2 iterations in parallel
;*      Done
;*
;*      Epilog not removed
;*      Collapsed epilog stages     : 0
;*
;*      Prolog not removed
;*      Collapsed prolog stages     : 0
;*
;*      Minimum required memory pad : 0 bytes
;*
;*      For further improvement on this loop, try option -mh2
;*
;*      Minimum safe trip count     : 2
;*----------------------------------------------------------------------------*
L1:    ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L2:    ; PIPED LOOP KERNEL
           NOP             3
   [ B0]   SUB     .D2     B0,1,B0           ; |56| <0,4> 

   [ B0]   B       .S2     L2                ; |56| <0,5> 
||         ADD     .D1     2,A4,A4           ; |49| <0,5>  ^ 

           EXT     .S1     A4,16,16,A4       ; |49| <0,6>  ^ 
           CMPEQ   .L1     A4,A3,A1          ; <0,7> 

           ADD     .D2     2,B7,B7           ; <0,8> 
||         STH     .D1T1   A4,*A0            ; |49| <0,8>  ^ 
|| [ A1]   EXT     .S2     B8,16,16,B4       ; |53| <0,8> 

   [ A1]   STH     .D2T2   B5,*B7            ; |52| <0,9>  ^ 

           STH     .D2T2   B4,*B6++          ; |55| <0,10> 
||         ADD     .S2     1,B4,B8           ; |53| <1,0> 
||         LDH     .D1T1   *A0++,A4          ; |49| <1,0>  ^ 

;** --------------------------------------------------------------------------*
L3:    ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
           ADD     .D2     2,B7,B7           ; (E) <1,8> 
           NOP             2
           MVC     .S2     B1,CSR            ; interrupts on
           ADD     .D1     2,A4,A4           ; |49| (E) <1,5>  ^ 
           EXT     .S1     A4,16,16,A4       ; |49| (E) <1,6>  ^ 

           STH     .D1T1   A4,*A0            ; |49| (E) <1,8>  ^ 
||         CMPEQ   .L1     A4,A3,A1          ; (E) <1,7> 

   [ A1]   EXT     .S2     B8,16,16,B4       ; |53| (E) <1,8> 
|| [ A1]   STH     .D2T2   B5,*B7            ; |52| (E) <1,9>  ^ 

           STH     .D2T2   B4,*B6++          ; |55| (E) <1,10> 
           LDH     .D2T2   *B9,B4
	.line	36
           ZERO    .D1     A6                ; |58| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Loop contains control code
;*----------------------------------------------------------------------------*
L4:    
           NOP             3
	.line	38
           CMPEQ   .L2     B4,1,B0           ; |60| 
   [ B0]   B       .S1     L5                ; |60| 
   [!B0]   CMPEQ   .L2     B4,2,B0           ; |60| 
           NOP             4
           ; BRANCH OCCURS                   ; |60| 
;** --------------------------------------------------------------------------*
   [ B0]   B       .S1     L6                ; |60| 
   [ B0]   MVK     .S1     260,A0
   [ B0]   ADD     .S1X    A0,SP,A0
   [ B0]   ADDAH   .D1     A0,A6,A9
   [ B0]   ADD     .S1X    4,SP,A0
   [ B0]   ADDAH   .D1     A0,A6,A3
           ; BRANCH OCCURS                   ; |60| 
;** --------------------------------------------------------------------------*
           B       .S1     L7                ; |60| 
           NOP             5
           ; BRANCH OCCURS                   ; |60| 
;** --------------------------------------------------------------------------*
L5:    
	.line	42
           ADDAW   .D1     A5,A6,A0          ; |64| 
           LDH     .D1T1   *A0,A0            ; |64| 
           NOP             4
           CMPGT   .L1     A0,0,A1           ; |64| 
	.line	43
   [ A1]   ADD     .S1X    4,SP,A0           ; |65| 
   [ A1]   LDH     .D1T1   *+A0[A6],A0       ; |65| 
   [ A1]   MVK     .S1     260,A3            ; |65| 
   [ A1]   ADD     .S1X    A3,SP,A3          ; |65| 
   [ A1]   LDH     .D1T1   *+A3[A6],A4       ; |65| 
   [ A1]   MVK     .S2     1,B5              ; |65| 
   [ A1]   LDW     .D1T1   *+A7[A0],A3       ; |65| 
           B       .S1     L7                ; |65| 
           NOP             2
   [ A1]   SHL     .S1X    B5,A4,A4          ; |65| 
   [ A1]   OR      .S1     A4,A3,A3          ; |65| 
   [ A1]   STW     .D1T1   A3,*+A7[A0]       ; |65| 
           ; BRANCH OCCURS                   ; |65| 
;** --------------------------------------------------------------------------*
L6:    
	.line	49
           ADDAW   .D1     A5,A6,A0          ; |71| 
           LDH     .D1T1   *A0,A4            ; |71| 
           ZERO    .D2     B0                ; |71| 
           NOP             3
           CMPLT   .L1     A4,0,A1           ; |71| 
   [!A1]   ADDAW   .D1     A5,A6,A0          ; |71| 
   [ A1]   LDH     .D1T1   *+A0(2),A0        ; |71| 
   [!A1]   LDH     .D1T1   *+A0(2),A0        ; |71| 
           NOP             4

   [!A1]   CMPLT   .L1     A0,0,A8           ; |71| 
|| [ A1]   CMPLT   .L2X    A0,0,B7           ; |71| 

           CMPEQ   .L1     A8,0,A0           ; |71| 
|| [ A1]   MV      .D2     B7,B0             ; |71| 

           CMPEQ   .L1     A1,0,A0           ; |71| 
||         OR      .S1     A0,A1,A2          ; |71| 
|| [ B0]   MVK     .S2     0x2,B6            ; |71| 

           OR      .S1     A8,A1,A2          ; |71| 
||         OR      .L2X    B7,A0,B0          ; |71| 
|| [!A2]   MVK     .S2     0x3,B8            ; |71| 

   [!A2]   MVK     .S2     0x1,B8            ; |71| 
|| [!B0]   ZERO    .D2     B6                ; |71| 

   [ A1]   MV      .D2     B6,B5             ; |71| 
|| [!A1]   MV      .S2     B8,B5             ; |71| 

	.line	51
           LDH     .D1T1   *A3,A0            ; |73| 
           NOP             3
	.line	64
           LDH     .D1T1   *A9,A3            ; |86| 
           LDW     .D1T1   *+A7[A0],A4       ; |86| 
           NOP             3
           SHL     .S1X    B5,A3,A3          ; |86| 
           OR      .S1     A3,A4,A3          ; |86| 
           STW     .D1T1   A3,*+A7[A0]       ; |86| 
;** --------------------------------------------------------------------------*
L7:    
	.line	168

           MVK     .S1     128,A3            ; |190| 
||         ADD     .D1     1,A6,A0           ; |190| 

           EXT     .S1     A0,16,16,A6       ; |190| 
           CMPLT   .L1     A6,A3,A1          ; |190| 
   [ A1]   B       .S1     L4                ; |190| 
           NOP             5
           ; BRANCH OCCURS                   ; |190| 
;** --------------------------------------------------------------------------*
	.line	169
           RET     .S2     B3                ; |191| 
           ADDK    .S2     512,SP            ; |191| 
           NOP             4
           ; BRANCH OCCURS                   ; |191| 
	.endfunc	191,000000000h,512



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

⌨️ 快捷键说明

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