Board logo

标题: 请教关于TS201的问题 [打印本页]

作者: TigerSHARC    时间: 2006-7-24 15:18     标题: 请教关于TS201的问题

//***********************************************************************
//      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