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

📄 bit_rev.asm

📁 基于320VC5416的512点实数FFT源程序.内含数据.
💻 ASM
字号:
*********************************************************************************
*       (C) COPYRIGHT TEXAS INSTRUMENTS, INC. 1996                              *
*********************************************************************************
*                                                                               *
* MODULE NAME:  bit_rev.asm                                                     *
*                                                                               *
* AUTHORS:      Simon Lau and Nathan Baltz                                      *
*                                                                               *
* DESCRIPTION:  PHASE ONE   Bit-Reversal of Input Data                          *
*               This function is called from the main module of the 'C54x Real  *
*               FFT code.  It reorders the original 2N-point real input         *
*               sequence by using bit-reversed addressing.  This new sequence   *
*               is stored into the upper 2N words of the data processing buffer *
*               where FFT will be performed in-place during Phase Two.          *
*                                                                               *
* REGISTER USAGE:   AR0 index for bit-reversed addressing                       *
*                   AR2 pointer to processed data, in bit-reversed order        *
*                   AR3 pointer to original input data, in natural order        *
*                   AR7 start address of data processing buffer                 *
*                   BRC                                                         *
*                                                                               *
* DATE:         7-16-1996                                                       *
*                                                                               *
*********************************************************************************

        .mmregs
        .include    "fft_size.inc"
        .def        bit_rev
        .ref        _real_fft_input, fft_data

        .asg    AR2,REORDERED_DATA
        .asg    AR3,ORIGINAL_INPUT
        .asg    AR7,DATA_PROC_BUF


        .text

bit_rev:
        SSBX    FRCT                            ; fractional mode is on
        STM     #_real_fft_input,ORIGINAL_INPUT  ; AR3 -> 1st original input
        STM     #fft_data,DATA_PROC_BUF         ; AR7 -> data processing buffer 
        MVMM    DATA_PROC_BUF,REORDERED_DATA    ; AR2 -> 1st bit-reversed data
        STM     #K_FFT_SIZE-1,BRC                 
        RPTBD   bit_rev_end-1
        STM     #K_FFT_SIZE,AR0                 ; AR0 = 1/2 size of circ buffer
      
        MVDD    *ORIGINAL_INPUT+,*REORDERED_DATA+
        MVDD    *ORIGINAL_INPUT-,*REORDERED_DATA+
        MAR     *ORIGINAL_INPUT+0B           

bit_rev_end:
        RET                                     ; return to Real FFT main module

        .end

⌨️ 快捷键说明

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