fy"> ПД дані (16-bit) = 2N + 4 + N + 1 слів
****************************************** **********************************/
/********** Константи, представлені нижче дожни бути змінені для різних довжин БПФ ******* = кількість точок ШПФ, має бути 2 в деякій мірі p>
log2N = log2 (N) _Value = 2 ^ (16-LOG2N)
Refft_Bitrev = Бітреверсіі адреси вихідних действітеьних чисел ПД_Bitrev = Бітреверсіі адреси вихідних уявних чисел ПД
****************************************** ************************************/
/* Встановлення констант для N-точкового ШПФ */
# define N 512
# define Ndiv2 (N/2)
# define log2N 9
# defineMod_Value128
# defineRefft_Bitrev0x0001
# defineInputreal_Bitrev0x000
/* дані ПД */
.section/data data1;
. VAR twid_imag [Ndiv2] = "twid_sin.dat";
. VAR groups = 1;
. VAR node_space = Ndiv2;
/* дані ПД */
.section/data seg_buf1;
. VAR Inputreal [N +2] = "inreal.dat";
/* дані ПД */
.section/data seg_buf2;
. VAR Refft [N +2];
/* дані ПП */
.section/pm data2;
.VAR/init24 twid_real [Ndiv2] = "twid_cos.dat";
. VAR Inputimag [N +2] = "inimag.dat";
/* код вектора переривань ПП */
.section/pm IVreset;
JUMP start; NOP; NOP;
/* Код програми */
.section/pm program;
start: = page (twid_real) ;/ * Ініціалізація сторінки для даних ПП */= 0; = length (twid_imag) ;/ * Ініціалізація циркулярного буфера twid_imag */= twid_imag; (b0) = AX1 ;/ * Ініціалізація покажчика на twid_imag */= 1; = 0 ;/ * Ініціалізація для модульної адресації */= 0; = length (twid_real)/* Ініціалізація циркулярного буфера twid_real */= twid_real; (b4) = AX1 ;/ * Ініціалізація покажчика на twid_real */= 1; = 0;/* Ініціалізація для модульної адресації */= -1; = 0 ;/ * Ініціалізація для модульної адресації */= 0; = 0; = 0; = 8 ;/ * Ініціалізація лічильника стадій */stage_loop UNTIL CE ;/ * Обчислення всіх стадій БПФ */
I0 = twid_imag ;/ * I0 -> (-S) W0 */
I1 = Inputreal ;/ * I1 -> x1 в першій групі даній стадії */= Inputreal ;/ * I2 -> x0 в першій групі даній стадії */
I4 = twid_real ;/ * I4 -> C W0 */
I5 = Inputimag ;/ * I5 -> y1 в першій групі даній стадії */= Inputimag ;/ * I6 -> y0 в першій групі даній ...