//***********************************************************************
// Defines for the FFT routines for TigerSHARC family of processors
// FFTDef.h
//***********************************************************************
关于TigerSHARC 的一个Example----fft_flp32_C,
在fft32.asm中
I. Description of Calling.
1. Inputs:
j4 -> input (ping-pong buffer 1)
j5 -> ping-pong buffer 1
j6 -> ping-pong buffer 2
j7 -> output
j27+0x18 -> N = Number of points
j27+0x19 -> REAL or COMPLEX
请问怎么完成上面的对应关系???????
看了代码似乎是通过下面这些代码,可是还是没搞明白,是怎么完成上面的对应!
在FFTDef.h中有这么几条,
#if !defined(__FFTDEF_H_)
#define __FFTDEF_H_
//************************************ Macros ***************************
#define mPUSHQ(arg) \
Q[k27 += -4] = arg;;
#define mPOPQ(arg) \
k27 = k27 + 4;; \
arg = Q[k27 += 0];;
#define mENTER \
j26 = j27 - 0x40; k26 = k27 - 0x40;; \
[j27 += 0xFFFFFFF4] = cJMP; k27 = k27 - 0x04;;
#define mRETURN \
cjmp = [j26 + 0x40];; \
cjmp(ABS)(NP); j27:24 = Q[j26 + 0x44]; k27:24 = Q[k26 + 0x44];;
之后在fft32.asm中语句是这样的
/************************************ Includes **********************************
#include "FFTDef.h"
#include "defts201.h"
//************************* Externs *************************************
.extern _twiddles;
//********************************* FFT Routine *********************************
.section program;
.global _FFT32;
_FFT32:
//********************************** Prologue ***********************************
mENTER
mPUSHQ(xR31:28)
mPUSHQ(xR27:24)
mPUSHQ(yR31:28)
mPUSHQ(yR27:24)
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |