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

📄 syn_filt.asm

📁 基于TMS320F2812的AMR+RS编解码+OFDM调制解调源程序。是stand alone运行版本
💻 ASM
字号:
*****************************************************************************
** Description:     Syn_filt() in file.c                                  **
**                                                                         **
** Inputs                                                                  **
**                                                                         **
**   xar7--Word16 *a                                                       **
**   xar1---Word16 *x
**   xar3---Word16 *mem 11                                                 **
**   ar0---Word16 lg    0x0028
**   ar4---Word16 update                                                                   **
** Outputs:                                                                **
**   xar3---word16 *mem
**   xar2---Word16 *y                                                                   **
**                                                                         **
**                                                                         **
**   
**   
**                                                                         **
** Temporary:
**     xar4---Word16 *tmp
**     xar5---Word16 *yy
**     ar6---Word16 i
**                                                                         **
** Return value :       xar2                                               **
**                                                                         **
** Attribute    :       Cycles: 19139  Pm: 83                                 **
**                      Modified Registers:xar0-xar7,acc,t,p                                **
**                                                                         **
** Programmer   :       Zhang Xin                                          **
*****************************************************************************
      
      .global _Syn_filt
      .ref _buffer1
      .ref _buffer2
      .ref _buffer3

_Syn_filt:
      push xar4              ;储存update的值
      movl xar4,#_buffer3+800  ;----tmp[80]
      movl xar5,@xar4
      mov ar6,#9
      dec @ar0      ;(lg-1)
      push xar2
      push xar3
      push xar0
_Loop_75:
      zapa
      mov al,*xar3++
      mov *xar5++,al
      banz _Loop_75,ar6--
      subb xar3,#10
_Loop_82:
      mov ar6,#9
      zapa
      mac p,*xar1++,*xar7
      addl acc,@p<<pm          
      movl xar3,acc  ;xar3中保存s
_Loop_85:
      addb xar7,#1
      mov t,*xar7
      mpy acc,t,*--xar5
      lsl acc,#1
      subl xar3,acc
      banz _Loop_85,ar6--
      subb xar7,#10
      addb xar5,#10
      movl acc,xar3
      sb  _L1,LT          ;讨论左移时的溢出问题
      sb  _L2,UNC
_L1:
      and acc,#0xf000<<16
      cmp ah,#0xf000
      sb  _L3,EQ
      sb  _L4,UNC
_L2:
      and acc,#0xf000<<16
      cmp ah,#0x0000
      sb  _L3,EQ
      sb  _L5,UNC
      
_L4:  
      mov ah,#0x8000
      mov al,#0x0000
      sb  _L6,UNC
_L5:
      mov ah,#0x7fff
      mov al,#0xffff
      sb  _L6,UNC
_L3:
      movl acc,xar3  
      lsl acc,#3
_L6:      
      add acc,#0x0800<<4
      mov *xar5++,ah
      banz _Loop_82,ar0--
      addb xar4,#10
      pop xar0
      mov pl,@ar0
      inc pl      ;pl=lg
_Loop_93:
      mov al,*xar4++
      mov *xar2++,al
      banz _Loop_93,ar0--
      pop xar3
      pop xar2
      pop xar4
      cmp @ar4,#0
      sb _Loop_end,EQ
      movl xar5,@xar2   ;储存y的指针
      mov ar6,#9
      sub @pl,#10         ;(lg-10)
      mov acc,@pl
      addl xar2,acc  ;y的指针下移(lg-10)位
_Loop_103:
      mov al,*xar2++
      mov *xar3++,al
      banz _Loop_103,ar6--
      movl xar2,@xar5  ;恢复y原始指针
      subb xar3,#10    ;恢复men原始指针
_Loop_end:
      LRETR
      
      
      
        
          
            
              
                
                  
                    
                      
                        
                          
                            
                              
                                
                                  
                                    
                                      
                                        
                                          
                                            
                                              
                                                
                                                  
                                                    
                                                      
                                                        
                                                          
                                                            
                                                              
                                                                
                                                                  
                                                                    
                                                                      
                                                                        
                                                                          
                                                                            
                                                                              
                                                                                
                                                                                  
                                                                                    
                                                                                      
                                                                                        
                                                                                          
                                                                                            
                                                                                              
                                                                                                
                                                                                                  
                                                                                                    
                                                                                                      
                                                                                                        
                                                                                                          
                                                                                                            
                                                                                                              
                                                                                                                
                                                                                                                  
                                                                                                                    
                                                                                                                        

      
      
      
     
      
        
      
      
      

⌨️ 快捷键说明

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