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

📄 convolve.asm

📁 基于TMS320F2812的AMR+RS编解码+OFDM调制解调源程序。是stand alone运行版本
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #19
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #20
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #21
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #22
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #23
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #24
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #25
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #26
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #27
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #28
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #29
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #30
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #31
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #32
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #33
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #34
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #35
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #36
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #37
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #38
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        MOVL  XAR7,@XAR1
        ADDB  XAR6,#1               ; XAR5 = &h[n]
        MOVL  XAR5,@XAR6
        zapa
        rpt   #39
      ||mac	  P,*--XAR5,*XAR7++
        ADDL  ACC,P << PM           ; Perform final accumulate
        LSL   ACC,#3                ; Shift sum to left for 3 bits
        MOV   *XAR3++,AH			; *XAR3 = y[n] = AH
        
        
        POP XAR3					; XAR3 = &y[0]
        
		LRETR

⌨️ 快捷键说明

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