📄 bit_rev.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 + -