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

📄 post_process.asm

📁 基于TMS320F2812的AMR+RS编解码+OFDM调制解调源程序。是stand alone运行版本
💻 ASM
字号:
*****************************************************************************
** Description:     Post_Process() in post_pro.c                           **
**                                                                         **
** Inputs                                                                  **
**                                                                         **
** Outputs:                                                                **
**                                                                         ** 
**                                                                         **
** Return value :       0                                                  **
**                                                                         **
** Attribute    :       Cycles:25944     Pm: 43                            **
**                      Modified Registers:  all                           **
**                                                                         **
** Programmer   :       Qi Ying                                            **
*****************************************************************************
              .global  _Post_Process
              .ref     dec_y2_hi
              .ref     dec_y2_lo
              .ref     dec_y1_hi
              .ref     dec_y1_lo
              .ref     dec_x0
              .ref     dec_x1
              .ref     _synth
              
_Post_Process:
              movl     xar3,             #_synth       ;signal
              mov      ar0,              #0           ;ar0=i
_Loop_152:
              cmp      ar0,              #160
              sb       _Line_176,        GEQ
              movl     xar1,             #dec_x1
              mov      ar7,              *xar1        ;ar7=x2=st->x1
              movl     xar1,             #dec_x0
              mov      al,               *xar1                             
              movl     xar1,             #dec_x1
              mov      *xar1,            al           ;st->x1=st->x0
              movl     xar1,             #dec_x0
              mov      al,               *+xar3[ar0]                             
              mov      *xar1    ,        al           ;st->x0=signal[i] 
              ZAPA
              movl     xar1,             #dec_y1_hi
              mpya     P,   *xar1,       #15836       ;st->y1_hi 
              movl     xar1,             #dec_y1_lo
              mpya     P,   *xar1,       #15836       ;st->y1_lo
              movh     ar6,              P
              add      acc,              ar6<<1
              movl     xar5,             acc          ;xar5=L_tmp
              ZAPA
              movl     xar1,             #dec_y2_hi
              mpya     P,   *+xar1[0],   #-7667       ;st->y2_hi
              movl     xar1,             #dec_y2_hi
              mpya     P,   *+xar1[1],   #-7667       ;st->y2_lo
              movh     ar6,              P
              add      acc,              ar6<<1
              addl     acc,              xar5         ;acc=L_tmp
              movl     xar1,             #dec_x0
              mpy      P,   *xar1,       #7699        ;st->x0
              addl     acc,              P<<pm        
              movl     xar1,             #dec_x1
              mpy      P,   *xar1,       #-15398      ;st->x1
              addl     acc,              P<<pm
              mpy      P,   ar7,         #7699        ;x2 
              addl     acc,              P<<pm
              lsl      acc,              #2
              movl     xar5,             acc          ;xar5=L_tmp
              lsl      acc,              #1  
              add      acc,              #0x0800<<#4  ;ah=round(L_shl(L_tmp, 1))
              mov      *+xar3[ar0],      ah           ;signal[i]
              movl     xar1,             #dec_y1_hi
              mov      al       ,        *xar1
              movl     xar1,             #dec_y2_hi
              mov      *xar1,            al           ;st->y2_hi=st->y1_hi
              movl     xar1,             #dec_y1_lo
              mov      al,               *xar1
              movl     xar1,             #dec_y2_lo
              mov      *xar1,            al           ;st->y2_lo=st->y1_lo
              movl     acc,              xar5
              movl     xar1,             #dec_y1_hi
              mov      *xar1,            ah
              lsr      al,               #1 
              movl     xar1,             #dec_y1_lo
              mov      *xar1,            al 
              inc      ar0
              sb       _Loop_152,        UNC   
_Line_176:           
              LRETR           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           
           

⌨️ 快捷键说明

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