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

📄 notch2.asm

📁 DSP6000+AD535语音采集的单频噪声消除的C语音代码
💻 ASM
📖 第 1 页 / 共 3 页
字号:
||         ZERO    .L2     B6                ; |21| 
||         SUB     .L1X    B4,8,A5
||         MVK     .S1     (_h2700-8-$bss),A0
||         MVC     .S2     CSR,B9

           ZERO    .D1     A0                ; |21| 
||         MVK     .S1     0x2,A1            ; init prolog collapse predicate
||         ADD     .S2X    DP,A0,B5
||         AND     .L2     -2,B9,B7

           MVC     .S2     B7,CSR            ; interrupts off

           MVK     .S2     0x16,B7           ; |21| 
||         B       .S1     L5                ; |22| (P) <0,3> 

           SUB     .S2     B7,5,B0
||         LDW     .D2T2   *++B5(8),B8       ; |22| (P) <0,0> 
||         LDW     .D1T1   *++A5(8),A4       ; |22| (P) <0,0> 

           LDW     .D2T2   *+B5(4),B8        ; |22| (P) <0,1> 
||         B       .S1     L5                ; |22| (P) <1,3> 
||         LDW     .D1T1   *+A5(4),A4        ; |22| (P) <0,1> 

           LDW     .D2T2   *++B5(8),B8       ; |22| (P) <1,0> 
||         LDW     .D1T1   *++A5(8),A4       ; |22| (P) <1,0> 

;** --------------------------------------------------------------------------*
L5:    ; PIPED LOOP KERNEL

   [!A1]   ADD     .S2     B7,B6,B6          ; |22| <0,7> 
|| [!A1]   ADD     .L1     A6,A3,A3          ; |22| <0,7> 
||         MPYH    .M2X    B8,A4,B7          ; |22| <1,5> 
||         MPY     .M1X    B8,A4,A6          ; |22| <1,5> 
|| [ B0]   B       .S1     L5                ; |22| <2,3> 
||         LDW     .D1T1   *+A5(4),A4        ; |22| <3,1> 
||         LDW     .D2T2   *+B5(4),B8        ; |22| <3,1> 

   [ A1]   SUB     .S1     A1,1,A1           ; <0,8> 
|| [!A1]   ADD     .L2     B7,B4,B4          ; |22| <0,8> 
|| [!A1]   ADD     .L1     A6,A0,A0          ; |22| <0,8> 
||         MPYH    .M2X    B8,A4,B7          ; |22| <1,6> 
||         MPY     .M1X    B8,A4,A6          ; |22| <1,6> 
|| [ B0]   SUB     .S2     B0,1,B0           ; |22| <3,2> 
||         LDW     .D1T1   *++A5(8),A4       ; |22| <4,0> 
||         LDW     .D2T2   *++B5(8),B8       ; |22| <4,0> 

;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop source line                 : 24
;*      Loop opening brace source line   : 25
;*      Loop closing brace source line   : 28
;*      Loop Unroll Multiple             : 2x
;*      Known Minimum Trip Count         : 44
;*      Known Maximum Trip Count         : 44
;*      Known Max Trip Count Factor      : 44
;*      Loop Carried Dependency Bound(^) : 0
;*      Unpartitioned Resource Bound     : 4
;*      Partitioned Resource Bound(*)    : 4
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     0        0     
;*      .S units                     1        0     
;*      .D units                     4*       4*    
;*      .M units                     0        0     
;*      .X cross paths               0        0     
;*      .T address paths             4*       4*    
;*      Long read paths              2        2     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           0        0     (.L or .S unit)
;*      Addition ops (.LSD)          0        1     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             1        0     
;*      Bound(.L .S .D .LS .LSD)     2        2     
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 4  Schedule found with 4 iterations in parallel
;*      Done
;*
;*      Epilog not removed
;*      Collapsed epilog stages     : 0
;*
;*      Prolog not entirely removed
;*      Collapsed prolog stages     : 1
;*
;*      Minimum required memory pad : 0 bytes
;*
;*      For further improvement on this loop, try option -mh8
;*
;*      Minimum safe trip count     : 3 (after unrolling)
;*----------------------------------------------------------------------------*
L6:    ; PIPED LOOP EPILOG AND PROLOG

           MVK     .S2     (_dly1+172-$bss),B5
||         MVK     .S1     (_dly2+172-$bss),A3
||         ADD     .L2     B7,B6,B6          ; |22| (E) <1,7> 
||         ADD     .L1     A6,A3,A5          ; |22| (E) <1,7> 
||         MPY     .M1X    B8,A4,A6          ; |22| (E) <2,5> 
||         LDW     .D1T1   *+A5(4),A4        ; |22| (E) <4,1> 
||         LDW     .D2T2   *+B5(4),B8        ; |22| (E) <4,1> 
||         MPYH    .M2X    B8,A4,B0          ; |22| (E) <2,5> 

           ADD     .S2     DP,B5,B4
||         LDH     .D2T2   *+DP(_dly2+176),B5
||         ADD     .L2     B7,B4,B7          ; |22| (E) <1,8> 
||         ADD     .D1     A6,A0,A0          ; |22| (E) <1,8> 
||         MPYH    .M2X    B8,A4,B6          ; |22| (E) <2,6> 
||         MPY     .M1X    B8,A4,A5          ; |22| (E) <2,6> 

           ADD     .D2     B0,B6,B0          ; |22| (E) <2,7> 
||         ADD     .D1     A6,A5,A6          ; |22| (E) <2,7> 
||         MPYH    .M2X    B8,A4,B6          ; |22| (E) <3,5> 
||         MPY     .M1X    B8,A4,A5          ; |22| (E) <3,5> 

           ADD     .D2     B6,B7,B7          ; |22| (E) <2,8> 
||         ADD     .D1     A5,A0,A0          ; |22| (E) <2,8> 
||         MPY     .M1X    B8,A4,A5          ; |22| (E) <3,6> 
||         MPYH    .M2X    B8,A4,B6          ; |22| (E) <3,6> 

           ADD     .D2     B6,B0,B0          ; |22| (E) <3,7> 
||         ADD     .D1     A5,A6,A6          ; |22| (E) <3,7> 
||         MPY     .M1X    B8,A4,A0          ; |22| (E) <4,5> 
||         MPYH    .M2X    B8,A4,B7          ; |22| (E) <4,5> 

           ADD     .D2     B6,B7,B6          ; |22| (E) <3,8> 
||         ADD     .D1     A5,A0,A4          ; |22| (E) <3,8> 
||         MPYH    .M2X    B8,A4,B8          ; |22| (E) <4,6> 
||         MPY     .M1X    B8,A4,A3          ; |22| (E) <4,6> 

           ADD     .S1X    DP,A3,A0
||         LDH     .D2T2   *+DP(_h2700+176),B9
||         MVC     .S2     B9,CSR            ; interrupts on
||         ADD     .D1     A0,A6,A5          ; |22| (E) <4,7> 
||         ADD     .L2     B7,B0,B7          ; |22| (E) <4,7> 

           ADD     .D2     B8,B6,B6          ; |22| (E) <4,8> 
||         ADD     .D1     A3,A4,A3          ; |22| (E) <4,8> 

           NOP             3
           MPY     .M2     B9,B5,B5
           NOP             1
           ADD     .S2X    A5,B5,B5
           ADD     .D2     B7,B5,B5
           ADD     .S2X    A3,B5,B5
           ADD     .D2     B6,B5,B5
           STW     .D2T2   B5,*+DP(_y2out)
	.line	15

           MVK     .S1     0x1,A1            ; init prolog collapse predicate
||         LDH     .D1T1   *+A0(2),A3        ; |27| (P) <0,0> 
||         MVC     .S2     CSR,B6

           MVK     .S2     0x2c,B7           ; |24| 
||         AND     .L2     -2,B6,B5

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

           LDH     .D2T2   *+B4(2),B5        ; |26| (P) <0,1> 
           NOP             1
           B       .S1     L7                ; |28| (P) <0,7> 
           LDH     .D1T1   *-A0(2),A3        ; |27| (P) <1,0> 
;** --------------------------------------------------------------------------*
L7:    ; PIPED LOOP KERNEL

           STH     .D1T1   A3,*+A0(4)        ; |27| <1,5> 
||         LDH     .D2T2   *-B4(2),B5        ; |26| <2,1> 

   [ B0]   SUB     .S2     B0,1,B0           ; |28| <1,6> 
||         STH     .D2T2   B5,*+B4(4)        ; |26| <1,6> 
||         LDH     .D1T1   *A0--(4),A3       ; |27| <1,6> 

   [!A1]   STH     .D1T1   A3,*+A0(10)       ; |27| <0,11> 
|| [ B0]   B       .S1     L7                ; |28| <1,7> 
||         LDH     .D2T2   *B4--(4),B5       ; |26| <1,7> 

   [ A1]   SUB     .S1     A1,1,A1           ; <0,12> 
|| [!A1]   STH     .D2T2   B5,*+B4(10)       ; |26| <0,12> 
||         LDH     .D1T1   *-A0(2),A3        ; |27| <3,0> 

;** --------------------------------------------------------------------------*
L8:    ; PIPED LOOP EPILOG

           LDH     .D2T2   *-B4(2),B5        ; |26| (E) <3,1> 
||         STH     .D1T1   A3,*+A0(4)        ; |27| (E) <2,5> 

           STH     .D2T2   B5,*+B4(4)        ; |26| (E) <2,6> 
||         LDH     .D1T1   *A0--(4),A3       ; |27| (E) <2,6> 

           LDH     .D2T2   *B4--(4),B5       ; |26| (E) <2,7> 
||         STH     .D1T1   A3,*+A0(10)       ; |27| (E) <1,11> 

           STH     .D2T2   B5,*+B4(10)       ; |26| (E) <1,12> 
           STH     .D1T1   A3,*+A0(4)        ; |27| (E) <3,5> 

           STH     .D2T2   B5,*+B4(4)        ; |26| (E) <3,6> 
||         LDH     .D1T1   *A0--(4),A3       ; |27| (E) <3,6> 

           LDH     .D2T2   *B4--(4),B5       ; |26| (E) <3,7> 
||         STH     .D1T1   A3,*+A0(10)       ; |27| (E) <2,11> 

           STH     .D2T2   B5,*+B4(10)       ; |26| (E) <2,12> 
;** --------------------------------------------------------------------------*
           NOP             2

           MVC     .S2     B6,CSR            ; interrupts on
||         STH     .D1T1   A3,*+A0(6)        ; |27| (E) <3,11> 

           STH     .D2T2   B5,*+B4(6)        ; |26| (E) <3,12> 
	.line	21
           LDH     .D2T2   *+DP(_out_type),B4 ; |30| 
           NOP             4
           CMPEQ   .L2     B4,1,B0           ; |30| 
   [!B0]   B       .S2     L9                ; |30| 
           NOP             5
           ; BRANCH OCCURS                   ; |30| 
;** --------------------------------------------------------------------------*
	.line	22
           CALL    .S1     _output_sample    ; |31| 
           LDH     .D2T1   *+DP(_dly1),A4    ; |31| 
           MVKL    .S2     RL2,B3            ; |31| 
           MVKH    .S2     RL2,B3            ; |31| 
           NOP             2
RL2:       ; CALL OCCURS                     ; |31| 
           LDH     .D2T2   *+DP(_out_type),B4
           NOP             4
;** --------------------------------------------------------------------------*
L9:    
	.line	23
           CMPEQ   .L2     B4,2,B0           ; |32| 
   [!B0]   B       .S1     L10               ; |32| 
           NOP             5
           ; BRANCH OCCURS                   ; |32| 
;** --------------------------------------------------------------------------*
	.line	24

           CALL    .S1     _output_sample    ; |33| 
||         LDW     .D2T2   *+DP(_y2out),B4   ; |33| 

           MVKL    .S2     RL3,B3            ; |33| 
           MVKH    .S2     RL3,B3            ; |33| 
           NOP             2
           SHR     .S1X    B4,15,A4          ; |33| 
RL3:       ; CALL OCCURS                     ; |33| 
;** --------------------------------------------------------------------------*
L10:    
	.line	26
           LDW     .D2T2   *+SP(80),B8       ; |35| 
           LDW     .D2T2   *+SP(76),B7       ; |35| 
           LDW     .D2T2   *+SP(72),B6       ; |35| 
           LDW     .D2T2   *+SP(68),B5       ; |35| 
           LDW     .D2T2   *+SP(64),B4       ; |35| 
           LDW     .D2T2   *+SP(60),B3       ; |35| 
           LDW     .D2T2   *+SP(56),B2       ; |35| 
           LDW     .D2T2   *+SP(52),B1       ; |35| 
           LDW     .D2T2   *+SP(48),B0       ; |35| 
           LDW     .D2T1   *+SP(44),A9       ; |35| 
           LDW     .D2T1   *+SP(40),A8       ; |35| 
           LDW     .D2T1   *+SP(36),A7       ; |35| 
           LDW     .D2T1   *+SP(32),A6       ; |35| 
           LDW     .D2T1   *+SP(28),A5       ; |35| 
           LDW     .D2T1   *+SP(24),A4       ; |35| 
           LDW     .D2T1   *+SP(20),A3       ; |35| 
           LDW     .D2T1   *+SP(16),A2       ; |35| 
           LDW     .D2T1   *+SP(12),A1       ; |35| 
           LDW     .D2T1   *+SP(8),A0        ; |35| 

           RET     .S2     IRP               ; |35| 
||         LDW     .D2T2   *+SP(84),B9       ; |35| 

           LDW     .D2T2   *++SP(88),B10     ; |35| 
           NOP             4
           ; BRANCH OCCURS                   ; |35| 
	.endfunc	35,007ff03ffh,88


;******************************************************************************
;* MARK THE END OF THE SCALAR INIT RECORD IN CINIT:C                          *
;******************************************************************************

CIR:	.sect	".cinit:c"
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	_input_sample
	.global	_output_sample
	.global	_comm_intr

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

⌨️ 快捷键说明

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