📄 hhcfft4_test.asm
字号:
/**************************************************************
File Name: HHcfft4_test.asm
Date Modified: 5/30/99 GGL
Description: Program to call HHcfft4.asm
**************************************************************/
#define N 1024
/* include for symbolic definitionof system regster bits */
#include "def21160.h"
.extern first;
.extern cosine;
.extern redata;
.extern sine;
.extern imdata;
.section/DM seg_dmda;
.VAR cosine[3*N/4]="cosr4.dat"; /*Cosine twiddle factors*/
.VAR redata[N]="inreal.dat"; /* Input real data */
.section/DM seg_dmrd; /* this segment is an integer multiple of N */
.VAR refft[N]; /* Output real data */
.section/DM seg_pmid; /* this segment is an integer multiple of N */
.VAR imfft[N]; /* Output imaginary data */
.section/DM seg_pmda;
.VAR sine[3*N/4]="sinr4.dat"; /* Sine twiddle factors*/
.VAR imdata[N]="inimag.dat"; /* Input imaginary data */
.section/PM seg_rth; /* PM interrupt vector code */
Reserved_1: rti; nop; nop; nop;
Chip_Reset: idle; jump start; nop; nop;
.section/PM seg_pmco;
start:
/*--------------------- Initialize DAG registers --------------------*/
i0=redata;
i1=redata+N/4;
i2=redata+N/2;
b3=redata+3*N/4;
i4=i0;
i5=i1;
i6=i2;
i7=i3;
i8=imdata;
i9=imdata+N/4;
i10=imdata+N/2;
b11=imdata+3*N/4;
i12=i8;
i13=i9;
i14=i10;
i15=i11;
l0 = 0;
l1 = l0;
l2 = l0;
l3 = l0;
l4 = l0;
l5 = l0;
l6 = l0;
l7 = l0;
l8 = l0;
l9 = l0;
l10 = l0;
l11 = l0;
l12 = l0;
l13 = l0;
l14 = l0;
l15 = l0;
m0=2; /* first stage modify values */
m8=2; /* first stage modify values */
/* used in middle stages */
m1=-2; /* reverse step for twiddles */
m9=m1;
call first (db);
m2=3; /* forward step for twiddles */
m10=m2;
/*--------------------------------------------------------------------*/
/*----------------------Terminate and wait ---------------------------*/
wait1: idle;
jump wait1;
/*--------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -